gpt4 book ai didi

javascript - 在 JavaScript 中设置 window.location 挂起

转载 作者:行者123 更新时间:2023-11-28 07:40:03 25 4
gpt4 key购买 nike

我有一个 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 中提出的请求。然而,我的 Controller 操作中的断点从未被命中。如果我将 alert 调用中的 URL 复制并粘贴到地址栏中,我的断点就会成功命中。所以,我完全困惑了。

  1. 由于这涉及到特定的控件,我起初认为这是一个 JavaScript 错误。但是,我在控制台中没有看到任何 JavaScript 错误。我还检查了是否有任何异常被吞掉,但我没有看到任何异常。

  2. 事实上,我在 Fiddler 中看到了该请求,这意味着我正在访问 Web 服务器。然而,如果我在 Controller 操作的第一行有一个断点,我希望它会跳闸。在我使用该控件的情况下它不会跳闸。如果我不使用控制装置,它就会跳闸。 Fiddler 中的结果为“-”。它永远不会回来。另外,我的 ASP.NET View 中没有抛出异常。

我完全陷入困境并寻找潜在原因的想法。谢谢。

最佳答案

此行为通常是 Controller 模型绑定(bind)期间出现问题的结果。

一个快速尝试的步骤是确保您发送的查询字符串值已正确编码。

var selected = "(someField eq '值')";
选择=encodeURIComponent(选择);

将消除模型绑定(bind)器可能遇到的任何不良字符问题。

关于javascript - 在 JavaScript 中设置 window.location 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173122/

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