Ali*_*Ali 5 c# asp.net jquery visual-studio-2008
这是我所处的一个有趣的情况.我正在使用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);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
所以当我像这样使用Jquery 1.4.4时:
我明白了: Status 200; Status Text: OK
当我使用Jquery 1.5时,我得到: Status 200; Status Text: Parsererror
所以我在Visual Studio中创建了一个新的WebSite,在那里复制和填充代码,它工作得很好!!!! 我无法弄清楚导致问题的原因.我也使用了带参数的方法,并设置了数据:"{}"
和完全删除数据,但似乎没有任何效果.
我不知道是否必须对我正在使用的DevExpress组件做任何事情.
我也找到了一个很好的答案,正在使用这样的完整方法:
complete: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert("Error");
}
else {
var data = xhr.responseText;
alert(data);
//...
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道它是否能正常工作,或者这种方法可能还有其他问题.我也不知道如何从这里访问响应数据.但我主要担心的是找出导致我网站问题的原因.
更新:今天在Google Chrome控制台中我注意到JQuery 1.5存在一些语法问题,如下所示:
未捕获的SyntaxError:意外的标记<jQuery.jQuery.extend.globalEvaljquery.js:593 jQuery.ajaxSetup.converters.text scriptjquery.js:7175 ajaxConvertjquery.js:7074 donejquery.js:6622 jQuery.ajaxTransport.send.callbackjquery.js:7441
归档时间: |
|
查看次数: |
26216 次 |
最近记录: |