传递多个数组; ajax到webmethod

时间:2012-02-18 17:05:35

标签: c# ajax

我想传递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)
{
}

3 个答案:

答案 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,
     ...
 });