我在模式对话框中有以下脚本以及三个脚本引用。加载模式后,我会在控制台上看到以下警告。
[Deprecation]主线程上的同步XMLHttpRequest是 不推荐使用,因为它对最终用户的有害影响 经验。
到目前为止,我已经阅读了一些线程,并试图不费吹灰之力地摆弄JS,还添加了 async:true ,但这并没有改变。此外,正如我在另一个线程中发现的那样,将Jquery升级到了最新版本,它可以解决问题,但仍然不满意。
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script>
$(function () {
$('#submit').click(function (e) {
e.preventDefault();
$('#error').html('');
var form = $(this).closest('form');
$.ajax({
url: form.attr('action'),
method: 'POST',
data: form.serialize(),
success: function (data) {
if (data.IsError) {
$('#error').html('<p>' + data.Message + '</p>');
} else {
window.location = data.Url;
}
}
});
});
});
</script>
如果删除函数上方的脚本引用,则警告消失,但我想了解如何编写函数以异步处理数据?
在控制台上,突出显示Jquery文件。
xhr.open( options.type, options.url, options.async, options.username, options.password );
非常感谢。