【发布时间】:2011-12-07 21:54:31
【问题描述】:
我有以下 jQuery AJAX 请求:
function sendUpdate(urlToSend) {
var code = AccessCode;
var url = urlToSend;
var options = { error: function(msg) { alert(msg.d); },
type: "POST", url: "webmethods.aspx/UpdatePage",
data: "{ accessCode: " + code + ", newURL: '" + url + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(response) { var results = response.d; } };
$.ajax(options);
}
以及对应的ASP.NET WebMethod:
[WebMethod]
public static bool UpdatePage(string accessCode, string newURL)
{
bool result = true;
try
{
HttpContext.Current.Cache[accessCode + "l"] = newURL;
}
catch
{
result = false;
}
return result;
}
这一切过去都可以与“async:false”一起正常工作,但是我必须摆脱它,因为它会冻结浏览器直到收到响应。现在上面的 AJAX 请求返回“未定义”。
谁能告诉我为什么会这样以及问题出在哪里?
谢谢。
【问题讨论】:
-
什么是未定义的,“response”或“response.d”?你应该看到完整的响应对象是什么,看看它是否给你来自服务器的任何错误消息。