Javascript 使用XHR通过POST发送大量数据

Javascript 使用XHR通过POST发送大量数据,javascript,post,google-chrome,xmlhttprequest,Javascript,Post,Google Chrome,Xmlhttprequest,我有一个XHR,可以将大量数据上传到服务器。这个XHR断断续续地消失,似乎没有模式。当前我的代码如下所示: function makeFormData(data) { var formdata = ""; for (var key in data) { formdata = formdata + "&" + key + "=" + encodeURIComponent(data[key]); } return formdata.slice(

我有一个XHR,可以将大量数据上传到服务器。这个XHR断断续续地消失,似乎没有模式。当前我的代码如下所示:

function makeFormData(data) {
    var formdata = "";
    for (var key in data) {
        formdata = formdata + "&" + key + "=" + encodeURIComponent(data[key]);
    }
    return formdata.slice(1);
}

function xhr(url, data, onsuccess, onerror) {
    var xhrequest = new XMLHttpRequest();

    xhrequest.onreadystatechange = function () {
        if (xhrequest.readyState != 4)
            return;

        if (xhrequest.responseText)
            onsuccess(xhrequest.responseText);
    }

    xhrequest.onerror = function (error_param) {
        onerror(error_param);
    }

    xhrequest.open('POST', url, true);
    xhrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    xhrequest.send(makeFormData(data));
}
这是一个Chrome扩展。我做错了什么?我如何使表单多部分,而不是使上传更小?我使用Wireshark跟踪请求,它通过多次数据包重传(并且从未完成)切断了中间发送


请帮帮我,这快把我逼疯了。

检查服务器指令。也许最大执行时间和上载大小的值很小。如果js不执行请求,请尝试调试它。

你说的“死”是什么意思,服务器响应代码是什么?没有,上传只是中断,客户端继续重新传输ACK。没有服务器响应。