gpt4 book ai didi

javascript - 带有进度的 Jquery Ajax 上传正在重新加载页面

转载 作者:行者123 更新时间:2023-11-30 21:16:44 25 4
gpt4 key购买 nike

我有一个 Jquery 表单提交的奇怪内容。

上传完成后,页面正在重新加载,即使服务器尚未完成处理。

服务器只是返回一个json成功状态,所以它不在服务器端。

代码如下:

$form.on('submit', function (e) {

console.log('Submit form ' + fileNumber);
if ($form.hasClass('is-uploading')) return false;

$form.addClass('is-uploading').removeClass('is-error');

if (isAdvancedUpload) {
e.preventDefault();
e.stopPropagation();
var ajaxData = new FormData($form.get(0));

var $input = $form.find('input[type="file"]');


if (fileToUpload) { ajaxData.append($input.attr('name'), fileToUpload); }
console.log('FileTo Upload: ' + fileToUpload);

$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: ajaxData,
dataType: 'json',
xhr: function () {
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', progress, false);
}
return myXhr;
},
cache: false,
contentType: false,
processData: false,
beforeSend: function (xhr,settings) {

},
complete: function (xhr, status) {
xhr.
//$form.removeClass('is-uploading');
//fileNumber++;
//fileToUpload = droppedFiles[fileNumber];
//if (fileToUpload) { $form.submit(); }
},
success: function (data,status,xhr) {
//$form.addClass(data.success === true ? 'is-success' : 'is-error');
//if (!data.success) $errorMsg.text(data.error);
},
error: function (xhr,status,error) {
}
});

} else {
// ajax for legacy browsers
}
});

问题在这里:

   xhr: function () {
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', progress, false);
}
return myXhr;

如果我去掉 return myXhr 上传后页面没有重新加载,但是我没有进度报告。

我不知道该怎么做才能防止重新加载。

谢谢。

最佳答案

我发现了问题。

xhr 对象不用担心。

问题来自 Visual Studio 浏览器链接。

关闭后一切正常。

浏览器链接,很明显是为了重新加载页面。

将与 ASP.NET Core 团队会面

关于javascript - 带有进度的 Jquery Ajax 上传正在重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com