如何将数组从ajax传递给后面的代码

时间:2012-05-02 00:26:18

标签: jquery asp.net ajax

我的jQuery中有一个字符串myArray []数组,该值是动态生成的。我的代码后面还有一个方法,它有string [] myArray。

我在jQuery中使用以下代码

$.ajax({
  type: "POST",
  url: "myurl/MyMethod",
  data: "{'strArray' :" + myArray + ", 'id':" + x + "}",
  dataType: "json",
  success: function(response){
  // DO SOME STUFF WITH THE RESPONSE...
  }
});

我的代码中有以下内容

[WebMethod]
public static bool MyMethod(string[] strArray, int id)
{
  // DO SOME STUFF WITH THE PARAMETERS
}

现在的问题是ajax没有调用MyMethod。任何要点......

提前致谢...

2 个答案:

答案 0 :(得分:1)

问题解决了......

来自jQuery的字符串数组可以在后面的代码中作为整个字符串读取。例如:

var myArray[] = {"string 1", "string 2", "string 3"};

将是

string myValue = "string 1,string 2,string 3";
服务器端代码中的

答案 1 :(得分:0)

试试这个:

var myParam = {'strArray' : myArray, 'id' : x };

$.ajax({
  type: "POST",
  url: "myurl/MyMethod",
  data: $.param(myParam),
  dataType: "json",
  success: function(response){
  // DO SOME STUFF WITH THE RESPONSE...
  }
});

如果您正在使用MVC,并且输入元素与您传回的值匹配,则可以序列化所有输入:data: $('form').serialize(),