У меня проблема с отправкой BLG-файла PNG с помощью Ajax на сервер, код работает и правильно отправляет PNG.Однако иногда без какого-либо паттерна он просто останавливается / застревает.код ниже, который я использую для отправки BLOB-объектов.
blobPost: function(url, blob, callback, callbackParam) {
console.log("blobPost called");
var fd = new FormData();
fd.append('fname', 'frame' + Date.now() + '.jpg');
fd.append('data', blob);
console.log(blob);
blobAjax = $.ajax({
async:true,
//timeout:10000,//time out after 5 seconds
//tryCount:0,//counter
//retryLimit:2,//number of retries before give up
//crossOrigin:true,//fix localhost issue
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: fd,
cache: false,
contentType: false,
processData: false,
success: routing.plainValidation,
error: routing.BlobxhrErrorCallback,
success_callback: callback,
error_callback: routing.plainErrorCallback,
callbackParam: callbackParam,
headers: {'Access-Control-Allow-Origin': '*'}
});
Когда запрос застрял, он вызывает «BlobxhrErrorCallback» с «ошибкой» и ReadyState = 0 и больше ничего.
Я пытался:
- отключить кеш
- asyn: false и true
- Добавить тайм-аут в запрос для сброса запроса, который он отправляет повторнопросьба, но застрял тоже.поэтому у меня было бы много застрявших запросов.
- Я пытался прервать запрос и повторно опубликовать его, когда он застрял, снова не сработало
- Я попытался onError, чтобы проверить, готов ли он, а затем вернутькак здесь: https://stackoverflow.com/a/13892587/2793459
У меня действительно нет выбора, я пробовал много вещей.
Я использую Firefox, я отключил кеш и разрешил контроль доступа.Есть идеи?