Firefox 中的 location.href
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试一下这个
,我猜在 FF 和其他少数浏览器中
window.location.href
是只读属性,因此它失败,但只使用位置应该没问题try this
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