我有一个 Web 应用程序 (MVC 5),当我从索引页面快速移动到不同页面时,我收到一个 javascript 警报,告诉我:“localhost:4332 的页面说:”(它什么也没说)。
当我按下“确定”按钮时,一切都恢复正常并继续到其他页面,我想禁用此警报从弹出到客户端。
我认为这是因为我移动到不同页面的速度太快,导致脚本无法完全运行。
我在脚本中所做的就是用从 Ajax post 请求中获取的值初始化一个下拉列表。 (为了节省加载页面的时间,我加载页面并初始化下拉列表。
这是我的代码:
$(document).ready(function () {
$.ajax({
type: 'POST',
url: '/Home/GetProfiles',
success: function (data) {
$.each(data, function (key, value) {
$('#filterSelect').append($("<option></option>").attr("value", value).text(key));
});
},
error: function (ts) { alert(ts.responseText) }
});
})
我做了更多的事情,但我不想使我在这里发布的代码复杂化,我认为问题与这行代码有关。
我尝试使用异常的console.log添加“try”和“catch”,但我没有在控制台中得到任何内容,并且警报不断弹出
知道为什么会这样吗?我该如何修复它?
最佳答案
您收到一条消息是因为导航页面会取消任何 AJAX 请求,因此它们会出错。您有一个显示 responseText
的 onerror
回调,由于出现错误,因此没有任何文本可显示。
关于javascript - 当从一个页面快速导航到另一个脚本时显示警报,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457891/