我想传递2个javascript字符串数组 “myArray1”和“myArray2”从ajax到webmethod。我所拥有的是以下不起作用。
var myArray1 = new Array();
var myArray2 = new Array();
// the arrays are filled further in the code.
// call to the webmethod:
$.ajax({
type: "POST",
url: "mypage.aspx/SavePage",
data: ??????,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg.d);
},
error: function() {
alert("failed");
}
});
我不知道如何在调用的data:
部分传递这些数组。
C#部分代码。
public static string SavePage(List<string> myArray1, List<string> myArray2)
{
}
答案 0 :(得分:2)
尝试这种方式:
data: "{'myArray1':"+JSON.stringify(myArray1)+",'myArray2':"+JSON.stringify(myArray2)+"}",
在你的代码隐藏中:
[System.Web.Services.WebMethod]
public static string SavePage(List<string> myArray1, List<string> myArray2)
{
return myArray1;
}
答案 1 :(得分:0)
url: "mypage.aspx/SavePage",
data: { myArray1: myArray1, myArray2: myArray2 }
答案 2 :(得分:0)
var data = {};
data.myArray1= myArray1;
data.myArray1= myArray2;
var json = JSON.stringify(data);
$.ajax({
...
data: json,
...
});