从JQuery函数获取数组到后面的C​​#代码

时间:2019-06-07 14:54:25

标签: javascript c# jquery asp.net ajax

我一直试图将jquery函数的输出传递给我的c#页面代码后面进行一些处理,但我想不出如何正确完成它,但是我知道这是有可能的。

我的HTML代码如下:

<!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>

请帮助我将jquery函数中的“ items”变量传递给我的代码,

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

}

1 个答案:

答案 0 :(得分:1)

由于字符串连接,'{jsonString:' + items + '}'中存在错误,您将获得一个字符串{jsonString:Hello World,How are you},但是JSON有效字符串必须为{"jsonString": "Hello World", "How are you"}

请使用JSON.stringify创建JSON有效字符串JSON.stringify({jsonString: items})