【发布时间】:2011-07-29 07:03:43
【问题描述】:
这是我所处的一个有趣的情况。 我正在使用 VS 2008 和 .Net Framework 3.5 开发一个 ASP.Net 网站,我想在测试页面中使用 jquery ajax,代码如下所示:
C# Method
[WebMethod]
public static string test()
{
return "Server Response" ;
}
$(document).ready(function() {
$("#myDiv").click(function() {
$.ajax({
type: "POST",
url: "AjaxTest.aspx/test",
data: "",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
// Replace the div's content with the page
// method's return.
alert(msg.d);
},
error: function(result){
alert("error occured. Status:" + result.status
+ ' --Status Text:' + result.statusText
+ " --Error Result:" + result);
}
});
});
});
所以当我像这样使用 Jquery 1.4.4 时:
我明白了:Status 200; Status Text: OK
当我使用 Jquery 1.5 时,我得到:Status 200; Status Text: Parsererror
所以我在 Visual Studio 中创建了一个新网站,将代码复制并粘贴到那里,它工作正常!!!!我无法弄清楚导致问题的原因。
我也使用了带参数的方法,设置数据:"{}",并完全删除数据,但似乎没有任何效果。
我不知道是否必须对我正在使用的 DevExpress 组件做任何事情。
我还找到了一个很好的答案,它正在使用这样的完整方法:
complete: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert("Error");
}
else {
var data = xhr.responseText;
alert(data);
//...
}
}
但我不知道它是否会正常工作,或者这种方法也可能存在其他问题。我也不知道如何从这里访问响应数据。 但我主要关心的是找出导致我网站问题的原因。
更新:今天在 Google Chrome 控制台中,我注意到 JQuery 1.5 存在一些语法问题 它们如下:
Uncaught SyntaxError: Unexpected token
【问题讨论】:
标签: c# asp.net visual-studio-2008 jquery