0

I been trying to pass the output of a jquery function to my c# page code behind to do some processing and I cant figure out how to get it done properly but I know it must be possible.

my Html code is as follows:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>jQuery Get Selected Radio Button Value</title>
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("button").click(function () {
                var items = [];
                $.each($("input[name]:checked"), function () {
                    items.push($(this).val());
                });
                $.ajax({
                    url: 'WebForm1.aspx/LoadStrings',
                    method: 'post',
                    contentType: 'application/json',
                    data: '{jsonString:' + items + '}',
                    dataType: 'json',
                });
                alert("You entered: " + items.join(", "));
            });
        });
    </script>
</head>
<body>
    <h4>Please select your gender.</h4>
    <p>
        <label>
            <input type="radio" name="gender" value="male" />Male</label>
        <label>
            <input type="radio" name="gender" value="female" />Female</label>

        <br />
        <br />

        <label>
            <input type="radio" name="address" value="Kingston" />Kingston</label>
        <label>
            <input type="radio" name="address" value="Saint Catherine" />Saint Catherine</label>
    </p>
    <button type="button">Get Values</button>
</body>
</html>

Please help me pass the 'items' var from the jquery function to my code behind,

[WebMethod] 
public static string[] LoadStrings(string[] jsonString) { 

}

1
  • Do not create json object using strings concatenation. Change data: '{jsonString:' + items + '}' to data: JSON.stringify({jsonString: items}) Commented Jun 7, 2019 at 15:02

1 Answer 1

1

There is an error in '{jsonString:' + items + '}', because of string concatenation, you will get a string {jsonString:Hello World,How are you}, but JSON-valid string must be {"jsonString": "Hello World", "How are you"}.

Please use JSON.stringify to create JSON-valid string JSON.stringify({jsonString: items})

Sign up to request clarification or add additional context in comments.

1 Comment

Okay I will make the changes!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.