Javascript 将数组从jQueryAjax传递给代码隐藏
我必须将二维数组传递给asp.net中网页代码隐藏处编写的page方法。我有一个变量Javascript 将数组从jQueryAjax传递给代码隐藏,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,我必须将二维数组传递给asp.net中网页代码隐藏处编写的page方法。我有一个变量objList,作为二维数组。我使用了下面的代码来实现这一点,但没有成功,并且没有调用page方法 JAVASCRIPT function BindTable(objList) { $.ajax( { url: "CompCommonQues.aspx/SaveData", contentType: "application/json; charset
objList
,作为二维数组。我使用了下面的代码来实现这一点,但没有成功,并且没有调用page方法
JAVASCRIPT
function BindTable(objList) {
$.ajax(
{
url: "CompCommonQues.aspx/SaveData",
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
data: { data: objList },
success: function (data) {
//Success code here
},
error: function () { }
});
}
代码隐藏.CS文件
[WebMethod]
public static string SaveData(string[,] data)
{
string[,] mystring = data;
return "saved";
}
有类似JSON.stringify(objList)的方法将JSON数组传递给代码隐藏,但无法实现这一点。一个简单的调用,不需要数组
data: "{ 'data':'this is string' }",
在代码背后
[WebMethod]
public static string SaveData(string data)
{
string mystring = data;
return "saved";
}
传递
数据时出现问题。您能帮助我如何将其传递给数组吗?尝试JavaScript中的正确JSON符号
var objList = new Array();
objList.push(new Array("a","b"));
objList.push(new Array("a", "b"));
objList.push(new Array("a", "b"));
$.ajax({
type: "POST",
url: "copyproduct.aspx/SaveDate",
data: "{'data':'" + JSON.stringify(objList) + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
在代码隐藏中,可以使用JavaScriptSerializer(System.Web.Script.Serialization)反序列化
[WebMethod()]
公共静态字符串保存日期(字符串数据)
{
JavaScriptSerializer json=新的JavaScriptSerializer();
List mystring=json.Deserialize(数据);
返回“已保存”;
}
我必须反序列化到字符串数组的通用列表,因为您无法反序列化到字符串(检查:)调试代码时Web方法未命中。代码隐藏函数中需要进行哪些更改。您正在传递一个字符串,如:{data:[[“a”,“b”],[“a”,“b”],[“a”,“b”]}。因此,您需要将参数从字符串(,)更改为字符串,并使用System.Web.Script.Serialization.JavaScriptSerializer反序列化为字符串(,)。我会计算出这个例子。我已经按照你的建议修改了代码,创建了数组,但代码隐藏方法仍然不起作用。你复制了代码吗?你在用Firebug吗?你能看到“网络”>“XHR”下显示的信息吗?我已经在我的项目中测试了它,它正在工作。错误是内部服务器错误在post部分{data:[[123”,“1”,“1”,“153”,“2”,“123”,“1”,“1”,“123”,“1”,“1”,“153”,“2”,“1”,“1”,“1”,“1”,“2”,“123”,“1”,“1”,“2”,“1”,“1”,“1”,“1”,“1”,“2”,“2”,“2”,“1”,“1”,“1”,“1”,“1”,“2”,“2”,“2”,“2”,“2”,“3”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“2”,“1”,“1”,“1”,“1”,“1”,“
[WebMethod()]
public static string SaveDate(string data)
{
JavaScriptSerializer json = new JavaScriptSerializer();
List<string[]> mystring = json.Deserialize<List<string[]>>(data);
return "saved";
}