Firefox 中的 location.href

发布于 2025-01-07 21:41:29 字数 941 浏览 0 评论 0原文

在我的 jQuery Ajax 脚本中,我写了

$.ajax({
            url: SearchUrl,
            type: 'POST',
            data: submitData,
            dataType: 'json',
success: function (rec) {
                if (rec.data) {
                    if (rec.data.url) {
                        pageLoading();
                        location.href = rec.data.url;
                    }
                    if (rec.data.error) {
                        errorText.text(rec.data.error);
                    }
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                location.href = refreshUrl;
            }
        });

事情是控制器返回的数据中确实有 rec.data.url 。当我在 IE、Safari、Chrome 上测试时,该代码可以很好地重定向到 rec.data.url 中给出的 url。但是,这在 Firefox 10.1 中不起作用,仅重新加载当前页面,但不重新加载任何重定向。 如果我在 pageLoading() 和 location.href = rec.data.url 之间放置一个警报(“”),则 Firefox 将在警报消息之后重定向到 rec.data.url 中的 url。

In my jQuery Ajax script, I wrote

$.ajax({
            url: SearchUrl,
            type: 'POST',
            data: submitData,
            dataType: 'json',
success: function (rec) {
                if (rec.data) {
                    if (rec.data.url) {
                        pageLoading();
                        location.href = rec.data.url;
                    }
                    if (rec.data.error) {
                        errorText.text(rec.data.error);
                    }
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                location.href = refreshUrl;
            }
        });

The thing is that there does have rec.data.url in the return data from the controller. The code works well to redirect to the url given in rec.data.url when I tested on IE, Safari, Chrome.However this didn't work in Firefox 10.1, only the current page is reloaded but not any redirection.
if I put an alert("") between pageLoading() and location.href = rec.data.url, Firefox will redirect to the url in rec.data.url after the alert message.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春庭雪 2025-01-14 21:41:29

尝试一下这个

window.location = 'your url';

,我猜在 FF 和其他少数浏览器中 window.location.href 是只读属性,因此它失败,但只使用位置应该没问题

try this

window.location = 'your url';

somehow I guess in FF and few other browsers window.location.href is readonly property, thus it fails but just using location should be ok

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文