我讓用戶選擇一個文件上傳。但上傳永遠不會在一個非常奇怪的情況下完成。做ajax文件上傳時的超時
工作用例:一旦頁面加載完成,用戶選擇一個文件並上傳,它總是上傳。
不能正常使用的情況下:一旦頁面加載完成後,用戶盯着屏幕一兩分鐘,然後選擇一個文件上傳,上傳幾乎永遠不會結束。我們不知道凝視多久,但通常2到5分鐘。該問題僅在Windows 7計算機上的IE 11中出現。在同一臺機器上,Chrome和Firefox工作正常。 IIS Web服務器不是負載平衡的,但它也發生在負載平衡的環境中。上傳永不完成時,期望POST的控制器永遠不會收到請求,IIS日誌也永遠不會收到POST請求。
更新: 我發現,開發網絡服務器是一臺服務器,但它實際上是在負載平衡的環境,因爲我們的QA環境有兩個Web服務器和負載平衡。據說,出現問題是由負載平衡器造成的。因爲如果通過節點名稱將文件發佈到服務器URL,則上載工作。但是,如果發佈到負載平衡器,則會失敗。我會看看我的網絡人員是否可以找到解決方案。我不相信這是一個代碼問題,或者我錯了嗎?
var FormEdit = function() {
var that = {};
that.upload = function() {
var data = new FormData();
var fileInput = $('#fileInput')[0];
var file = fileInput.files[0];
data.append(file.name, file);
$.ajax({
type: 'post',
dataType: 'json',
url: url,
data: data,
processData: false,
contentType: false,
}).fail(function() {
}).then(function (data) {
}).always(function() {
});
};
};
如果服務器從未收到請求,則可能是您正在測試的計算機存在問題。您是否嘗試過使用IE11的另一臺計算機 – adeneo
是的,我嘗試了使用相同瀏覽器和操作系統的其他幾臺PC,並且遇到同樣的問題。這是一個企業環境,所以大多數PC都是相似的。 –
介意分享腳本所吸引的觸發器?還有你用於發送的文件大小有多大? –