如我有$.ajax({
    type: "POST",
    url: url,
    data: "Name=Jerry",
    dataType: "json",
    success: function(result) {
        alert("成功");
    },
    error: function(httpException) {
        alert("Error");
    },
    timeout: 40000
});如上面的一条ajax运行是正确的,但是有几个问题
因为在我们用ajax的时候
    error: function(httpException) {
        alert("Error");
    },
    timeout: 40000
是经常是一样的,
问题1:那么能不能给Jquery的ajax的timeout和error做一个全局的设置
问题2:出错报错可不可以详细点比如说,http错误号,出错信息谢谢

解决方案 »

  1.   

    全局设置$.ajaxSetup({
      timeout: 40000,
      type: "POST"
    });
    error 有几个参数的.
    function (XMLHttpRequest, textStatus, errorThrown) {
        // 通常 textStatus 和 errorThrown 之中
        // 只有一个会包含信息
        this; // 调用本次AJAX请求时传递的options参数

      

  2.   

    查看jquery API 中文文档。里面都有介绍全局设定是:$.ajaxSetup();error信息有参数返回。
    function (XMLHttpRequest, textStatus, errorThrown) {
        // 通常 textStatus 和 errorThrown 之中
        // 只有一个会包含信息
        this; // 调用本次AJAX请求时传递的options参数
    }错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。还可以查看api文档里的 ajaxError(callback)
      

  3.   

    为什么我用$.ajax处理超时的时候这样写一直会报错误,如果超时了可以弹出错误的框,但关闭框以后就报js错误:对象不支持此属性或方法.
    $.ajax({
            type: "post",
            contentType: "application/json",
            url: "WebService1.asmx/RegistChk",
            data: "{info:'" + info + "'}",
            dataType: "json",
            success: function(result)
            {
                if (result.d == "false")
                {
                    $("#btn1").attr("disabled", true);                if (flag == "userName")
                    {                    alert("此用户名已被注册!");
                        $("#username").focus();                }
                    else if (flag == "mobilephone")
                    {                    alert("此手机号码已被注册!");
                        $("#mobilephone").focus();
                    }
                    else
                    {
                        alert("此邮箱帐号已被注册!");
                        $("#email").focus();
                    }
                }
                else
                {
                    $("#btn1").attr("disabled", false);
                }
            },
            error: function(a, b, c)
            {
                alert("请求超时");
            },
            timeout: 15000
        });