【问题标题】:Redirect and reload重定向和重新加载
【发布时间】:2014-06-03 08:37:52
【问题描述】:

我正在使用这个javascript 代码进行重定向:

window.location.href = '/zona-privada?message='+data;

我正在使用php 作为后端,在重定向之后,我的php 没有得到消息参数。但是,如果我在重定向后重新加载页面,它就可以正常工作。 我应该以不同的方式进行重定向吗?还是我做错了什么?

我在javascriptajax 请求中执行此重定向。 非常感谢

Ajax 代码:

$.post(
  "/url"
).done(
  function(data){
    window.location.href = '/home?message='+data;
  }
);

我的 php(使用 Zend1)

if($this->_params['message']) {
   //code goes here
}

【问题讨论】:

  • 如果您输入了正确的 "?message=something" $_GET['message'] 将返回消息。如果您有一些重写规则工作,他们可能无法通过查询字符串检查..
  • 您应该查看帖子重定向获取模式。这是开发页面时的最佳实践。它还限制重新提交。它可能对您的应用有所帮助。
  • 是的,能否请您发布您正在发出的 ajax 请求以及您用于获取参数的 php 代码?
  • 您的 ajax 响应中的数据很可能不是字符串 :) 您不能只将其作为字符串传递..

标签: javascript php ajax redirect


【解决方案1】:

问题在于变量的值。在将其附加到 window.location.href 之前尝试 encodeURIComponent(data)

【讨论】:

  • 试试这个: $.post( "/url" ).done( function(data){ window.location.href = '/home?message='+encodeURIComponent(data) ; return false; });
猜你喜欢
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2019-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多