繁体   English   中英

从jquery ajax将数组传递到webmethod

[英]passing array to webmethod from jquery ajax

这是我的脚本:

<script  type="text/javascript">
    var arr = [1,2,3];
    var jdata = {name:arr};
    $(document).ready(function () {
        $.ajax({
            method: 'POST',
            url: 'WebForm1.aspx/call',
            contentType: "application/json",
            data: JSON.stringify(jdata),
            dataType: "json",
            success: function (dt) { alert(JSON.parse(dt.d).name[0]);debugger },
            error: function () { alert("failure"); debugger } 

        });
    });
</script>

这是asp.net网络方法:

public static String call(int[] name)
{
    return "{\"name\":[1,2]}";
}

我收到内部服务器错误。 谁能帮我找到造成这种情况的原因。

之所以会出现错误,是因为您要传递名称为property的JSON对象,并且您的Web方法接受int []

您可以通过arr来使一切正常

<script  type="text/javascript">
var arr = [1,2,3];
$(document).ready(function () {
    $.ajax({
        method: 'POST',
        url: 'WebForm1.aspx/call',
        contentType: "application/json",
        data: JSON.stringify(arr),
        dataType: "json",
        success: function (dt) { alert(JSON.parse(dt.d).name[0]);debugger },
        error: function () { alert("failure"); debugger } 

    });
});

希望能帮助到你!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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