JQuery AJAX,错误状态代码:200,状态文本:parserorro | 好

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

arc*_*hil 2

您应该使用Fiddler - 出色的 Web 调试代理。借助它的帮助,您可以监视服务器和客户端之间的所有通信