JQuery 1.4.2 XHR请求net :: ERR_CONNECTION_RESET

时间:2016-08-05 09:59:58

标签: javascript jquery

我后台开发人员和Javascript中的新手。我试图使用旧的JQuery版本(1.4.2)上传文件,因为无法在当前项目中更改它。

此代码适用于任何JQuery版本> = 1.5

$('#uploadform').submit(function(e) {
    var formData = new FormData(this);
    $.ajax({
       type:'POST',
       url: '/uploader',
       data:formData,
       xhr: function() {
           var myXhr = $.ajaxSettings.xhr();
           if(myXhr.upload){
               //
           }
           return myXhr;
       },
       cache:false,
       contentType: false,
       processData: false,

       success: function(data){
           //
       },

       error: function(data){
           //
       }
   });
});

每次在JQuery 1.4.2上运行它时,我在Chrome(和其他浏览器)中都有此错误: POST http://localhost:8080/uploader net::ERR_CONNECTION_RESET

中的jquery-1.4.2.js:5252

有没有办法在没有JQuery版本更改的情况下修复它?

UPD

以下是html

中的<head>部分
<head>
<meta charset="UTF-8">
<title>Remedy Uploader</title>
<link type="text/css" rel="stylesheet" href="style.css" media="screen"/>
<script type='text/javascript' src="https://code.jquery.com/jquery-1.4.2.js"></script>
<script type='text/javascript' src="script.js"></script>

2 个答案:

答案 0 :(得分:0)

var oldXHR = jQuery.ajaxSettings.xhr;
jQuery.ajaxSettings.xhr = function() {
    var xhr = oldXHR();
    if(xhr instanceof window.XMLHttpRequest) {
        xhr.upload.addEventListener('progress', on_progress, false);
        xhr.upload.addEventListener('load', on_loaded, false);
        xhr.addEventListener('abort', on_abort, false);
    }
    return xhr;
};

$.ajax({
    xhr: function() {
        var xhr = jQuery.ajaxSettings.xhr();
        if(xhr instanceof window.XMLHttpRequest) {
            xhr.upload.addEventListener('progress', on_progress, false);
            xhr.upload.addEventListener('load', on_loaded, false);
            xhr.addEventListener('abort', on_abort, false);
        }
        return xhr;
    }
});

检查以下网址

How to get pure XMLHTTPRequest object in jQuery 1.5?

答案 1 :(得分:0)

首先,您应尝试在http://localhost:8080/uploader处对所有代码进行评论,然后只打印hello条消息。然后在浏览器中测试它,它必须正常工作。如果它不起作用,首先修复它,但是当工作时然后尝试跟随请求,因为它是

使用jquery 1.4.2,您可以使用与今天使用的相同的ajax请求

$.ajax({
    type: "POST",
    //I commented followin gintentionally, you should check the 
    // before un-commenting this line
    //data : formData code 
    url: 'http://localhost:8080/uploader',
    success: function(data){alert(data)},
    error: function(err){ alert(er.responseText)};
});

当然,你将面临没有错误