为什么我的网络错误检测我的Ajax POST不起作用

时间:2017-01-26 18:49:27

标签: jquery ajax google-app-engine

在附加上传的用户文档时,我正在对myapp.appspot.com/upload进行Ajax POST调用。有时我的网络完全关闭,响应永远不会到来。我需要显示一条错误消息,我认为Ajax的error:部分会处理它,但是没有,没有错误消息,没有任何消息。

我的代码:

$.ajax({
    type: "POST",
    url: $("form#data").attr("action"),
    data: formData,
    contentType: false, 
    processData: false,
    dataType: 'binary', // using jquery.binarytransport.js
    success: function (returnValue, textStatus, jqXHR ) {
        // Default response type is blob
        saveAs(returnValue, "result.pdf");    // using FileSaver.js
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        console.log("error")
        if (XMLHttpRequest.readyState == 4) {
            // HTTP error (can be checked by XMLHttpRequest.status and XMLHttpRequest.statusText)
            console.log("Http Error: ", XMLHttpRequest.status,
                        "Http Error text: ", XMLHttpRequest.statusText)

        }
        else if (XMLHttpRequest.readyState == 0) {
            // Network error (i.e. connection refused, access denied due to CORS, etc.)
            console.log("Network Error: ", XMLHttpRequest.status,
                        "Network Error text: ", XMLHttpRequest.statusText)
        }
        else {
            console.log("Error. Something weird is happening with the ajax request.")
        }
    }
})

发生了什么事?

0 个答案:

没有答案