Javascript 上传多部分/表单数据是随机通过和失败的
我使用以下代码将多部分/表单数据上载到服务器:Javascript 上传多部分/表单数据是随机通过和失败的,javascript,ajax,apache-httpclient-4.x,Javascript,Ajax,Apache Httpclient 4.x,我使用以下代码将多部分/表单数据上载到服务器: <!DOCTYPE html> <html> <body> <form > <input id="file" type="file" name="file" multiple><br> </form> <button id="ajax_submit">ajax_submit</button&g
<!DOCTYPE html>
<html>
<body>
<form >
<input id="file" type="file" name="file" multiple><br>
</form>
<button id="ajax_submit">ajax_submit</button>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script>
$( "#ajax_submit" ).click(function()
{
//alert( "Handler for .click() called." );
var i = 0;
while (i < document.getElementById('file').files.length)
{
var data = new FormData();
//alert("before" + i);
data.append('file', document.getElementById('file').files[i]);//first string parameter indicate the input field to name for server side
//alert("after" + i);
jQuery.ajax({
url: 'http://xx.xxx.xx.xxx:8080/sign',
data: data,
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST', // For jQuery < 1.9
success: function(data)
{
//alert(data);
}
});
i++;
}
});
</script>
</body>
</html>
当我获得失败时我在Safari和Chrome浏览器上获得了以下错误消息,请求和响应标题:
铬:
Genaral
Request URL:http://xx.xxx.xx.xxx:8080/sign
Referrer Policy:no-referrer-when-downgrade
Request Headers
Provisional headers are shown
Accept:*/*
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryAmGAPOT6r0Voe5mr
Origin:null
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Request Payload
------WebKitFormBoundaryAmGAPOT6r0Voe5mr
Content-Disposition: form-data; name="file"; filename="empty.pdf"
Content-Type: application/pdf
POST网络::错误连接被拒绝
发送@jquery-3.2.1.min.js:4 ajax@jquery-3.2.1.min.js:4
(匿名)@multiplefileHandler.html:26
dispatch@jquery-3.2.1.min.js:3 q.handle@
jquery-3.2.1.min.js:4
POST网络::错误\u连接\u重置
发送@jquery-3.2.1.min.js:4 ajax@jquery-3.2.1.min.js:4
(匿名)@multiplefileHandler.html:26
dispatch@jquery-3.2.1.min.js:3 q.handle@jquery-3.2.1.min.js:3
Safari:
Genaral
Request URL:http://xx.xxx.xx.xxx:8080/sign
Referrer Policy:no-referrer-when-downgrade
Request Headers
Provisional headers are shown
Accept:*/*
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryAmGAPOT6r0Voe5mr
Origin:null
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Request Payload
------WebKitFormBoundaryAmGAPOT6r0Voe5mr
Content-Disposition: form-data; name="file"; filename="empty.pdf"
Content-Type: application/pdf
无法加载资源:网络连接已丢失
加载资源失败:无法连接到服务器
当我尝试使用Java Apache HTTP客户端调用时,出现以下错误:
org.apache.http.NoHttpResponseException: xx.xxx.xx.xxx:8080 failed to respond
当我使用Chrome选择8个文件并按下ajax\u submit
按钮时,活动监视器的屏幕截图。当时Chrome只有一个标签页上面有这个页面。
当在几毫秒内有许多请求时,服务器会失败,服务器端没有人响应
摘要:服务器端故障。虽然我很欣赏客户端错误,但我认为显示服务器日志对于调试此问题也很重要。连接被拒绝是一个服务器端错误,提示服务器本身没有连接