这是我的剧本:
<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 web方法:
public static String call(int[] name)
{
return "{\"name\":[1,2]}";
}
我收到内部服务器错误。任何人都可以帮我找到造成这种情况的原因。
答案 0 :(得分:0)
您收到错误是因为您传递的是带有名称的JSON对象作为属性,而您的网络方法接受 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 }
});
});
希望它有所帮助!!