用户在我的网站上创建帐户后,我想将用户重定向到主页并在顶部显示推文样式的消息栏。这就是我的方式:
success: function (response) {
if (response.Success) {
location.href = response.ReturnUrl;
}
ShowMessageBar(response.Message);
},
消息栏确实出现,但它只显示一秒钟,因为它被重定向取消了。在重定向完成后,我该怎么做才能显示消息? location.href有完整的事件吗?感谢。
答案 0 :(得分:3)
您需要将其传递给cookie
,quesrystring
或localStorage
。
使用localStorage或cookies(在IE8 +和大多数其他浏览器中都可以使用localStorage)这样的东西:
在当前页面上:
if('localStorage' in window)
localStorage.setItem('message', response.Message);
else // use cookie
在新页面上:
$(function(){
if('localStorage' in window && !!localStorage['message']) {
ShowMessageBar(localStorage['message']);
localStorage.removeItem('message');
}
else // use cookie
});
如果您对这些技术感到不舒服,可以使用jquery插件来包装此功能。我建议jstorage。
答案 1 :(得分:2)
这将需要jQuery的Cookie插件:
http://plugins.jquery.com/project/Cookie
将它放在主页标题中的某处:
jQuery(function($){
if($.cookie("message")) {
ShowMessageBar($.cookie("message"));
$.cookie("message", "any_value", { expires: -1 });
});
在你的成功功能中:
success: function (response) {
if (response.Success) {
$.cookie("message", response.Message);
location.href = response.ReturnUrl;
}
},
答案 2 :(得分:1)
一旦页面的url更改了所有执行停止并转移到新页面。将参数传递给触发您想要的事件的新页面。
答案 3 :(得分:0)
听起来像你需要从重定向的URL调用ShowMessageBar()。
答案 4 :(得分:0)
您可以发送参数并检查文档是否存在。可能是达到预期效果的最简单方法。
答案 5 :(得分:0)
如果您真的想要显示该消息,您可以在重定向之前将其置于警报中,这会停止执行直到他们点击“确定”。