在 JavaScript 中设置 window.location 挂起
Setting window.location in JavaScript hangs
我有一个 ASP.NET 的MVC应用程序。我的应用程序在客户端使用 jQuery。用户可以在多个字段中输入值,然后单击"刷新"。刷新行为异常。
单击刷新时,我执行以下 JavaScript:
function refresh() {
var chosen = "(someField eq 'value')";
try {
if (chosen) {
var url = 'http://localhost:8089/item&c=' + chosen;
alert(url);
window.location = url;
} else {
window.location = 'http://localhost:8089/item';
}
return false;
} catch (ex1) {
alert(ex1);
}
}
chosen
的值实际上是通过函数生成的。我注意到当我使用某种类型的控件时,页面会挂起。这是奇怪的,我可以看到在Fiddler中提出的请求。但是,我的控制器操作中的断点从未命中。如果我将 url 从alert
调用复制并粘贴到地址栏中,则成功命中断点。所以,我完全糊涂了。
由于这涉及特定的控件,我最初认为这是一个JavaScript错误。但是,我在控制台中没有看到任何 JavaScript 错误。我还检查了是否有任何异常被吞噬,但我没有看到任何异常。
我在 Fiddler 中看到请求的事实意味着我正在访问 Web 服务器。但是,如果我在控制器操作的第一行有一个断点,我希望它会跳闸。在我使用该控件的情况下,它不会跳闸。如果我不使用控件,它确实会跳闸。《提琴手》中的结果位于"-"。它永远不会回来。另外,我的 ASP.NET 视图中没有出现异常。
我完全坚持这一点,并寻找潜在原因的想法。谢谢。
此行为通常是控制器的模型绑定期间出现问题的结果。
尝试的一个快速步骤是确保要发送的查询字符串值已正确编码。
var chosen = "(someField eq 'value')";
chosen = encodeURIComponent(chosen);
将消除模型绑定器可能存在的任何不良字符问题。
相关文章:
- JavaScript执行暂时挂起页面
- 是定义的操作系统睡眠/挂起期间setTimeout的行为
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- fullcalendar在删除导致浏览器挂起的多个事件时速度较慢
- 应用将图表转换为图像的jqplot代码时Chrome挂起
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序
- MongoDB collection.find()查询挂起
- 使用子字符串方法时应用程序挂起的原因
- 如何在AngularJS中取消挂起的请求
- 从node.js应用程序调用Mongoose Model.save()时挂起
- Chrome,Safari在从本地存储读取时挂起,而Firefox很好
- IE 10 挂起 XMLHttpRequest 6 分钟,然后响应请求(使用 AngularJS 实现 CRSF)
- 挂起 JavaScript 键关闭事件
- HERE 映射 JS API v3 集群提供程序挂起,添加许多数据点
- Ajax 调用挂起在 jQuery 中
- writeln img src将数据提交到外部系统-Firefox和IE挂起
- 在jQuery中,.state()如何确定一个承诺是挂起的、已解决的还是被拒绝的
- 为什么JavaScript中没有挂起回调函数
- SP2007使IE在运行jssor代码时挂起
- 在 JavaScript 中设置 window.location 挂起