【发布时间】:2016-01-12 06:34:22
【问题描述】:
我正在学习 Jquery Ajax 方法。我尝试发布一个 json 字符串,它使用 $.post 方法工作,但不能在 $.Ajax 方法中工作。它给出了 500 错误。请给出一些建议
---- $.post--- 方法 // 工作
$.post("About.aspx?type=Test", { 'Data': '[{"Key":"454","Value":["1","3"]},{"Key":"496","Value":["1","2","3"]}]' }, function (result) {
alert(result.d);
});
----c#-----
public void add()
{
string value = Request.Form["Data"];
}
------$.Ajax post--------- 方法 // 不工作。但 如果我将数据传递为“{'data':'1'}”--working
$.ajax({
type: "POST",
url: "Contact.aspx/add",
dataType: "json",
data: "{'Data': '[{'Key':'454','Value':['1','3']},{'Key':'496','Value':['1','2','3']}]'}",
contentType: "application/json; charset=utf-8",
success: function (response) {
},
error: function (msg) {
alert(msg.status);
}
});
-----c#----
[WebMethod]
public static void add( string Data)
{
}
【问题讨论】:
-
data请求中的data值不是 JSON,它只是一个字符串。你为什么要用反斜杠转义所有双引号? -
不要转义
data,只需用单引号将整个数据括起来' -
@dreamweiver 单引号或双引号在 javascript/json 中无关紧要。不 - 他根本不应该用引号将整个数据括起来,因为它是一个字符串。
标签: javascript jquery asp.net ajax asp.net-ajax