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!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.