javascript - 当从一个页面快速导航到另一个脚本时显示警报,为什么?

标签 javascript jquery html ajax

我有一个 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 请求,因此它们会出错。您有一个显示 responseTextonerror 回调,由于出现错误,因此没有任何文本可显示。

关于javascript - 当从一个页面快速导航到另一个脚本时显示警报,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457891/

相关文章:

javascript - 当使用 $.getScript() 加载脚本时,有没有办法从使用 $.getScript() 加载的脚本调用父脚本中的函数?

javascript - ng-click 不打开新窗口

javascript - 使用javascript/html5即时生成声音

javascript - 如何在数组中使用reduce方法将具有公共(public)键的多个Json对象转换为单个Json对象?

javascript - 如何显示/隐藏每个文章/对象的类?

javascript - 带格式的 div 搜索表单

javascript - 如何使用 jquery 构建动态表单生成器

html - 哪个是在 css 中设置背景 url 的最佳方式?

javascript - 如何消除可缩放旭日图上的杂散线?

javascript - 绑定(bind) observableArray 中未定义的字段或提供默认值