【发布时间】:2012-01-23 19:27:11
【问题描述】:
我正在使用以下调用将数据发送回服务器:
$.ajax({
type: "POST",
url: "MyTestPage.aspx/UpdateData",
data: updates,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert('Success!');
},
error: function (msg) {
alert('Failure!');
}
});
后面的代码是这样的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
namespace TestNamespace
{
public partial class MyTestPage: System.Web.UI.Page
{
[WebMethod]
public static bool UpdateData(string IDs, string Values)
{
return true;
}
}
}
来自 Chrome 的请求负载,即 UI 更新变量的值是:{ IDS : "21TOK31" , VALUES : "2TOK2"}
请求没有命中函数后面的代码,ajax函数总是因为错误而进入失败块。
当没有数据被传递并且代码隐藏函数没有参数时,请求命中了代码隐藏函数。
我是在 ASP.NET 中使用 JSON 的新手。有人可以指导我解决问题吗?以及如何最好地解决它。
【问题讨论】:
-
我发现的一个错误是在函数定义后面的代码中 public static bool UpdateData(string IDs, string Values) 参数后面的代码名称应该与JSON对象相同,在上面的情况应该是: public static bool UpdateData(string IDS, string VALUES) 它区分大小写,所以也必须注意这一点。我是新人,是个男生的错误。
标签: asp.net ajax error-handling code-behind