简体   繁体   中英

Get array from JQuery function to C# code behind

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) { } 

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})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM