当前位置:Gxlcms > PHP教程 > 浏览器发出了请求,但是页面没有跳转的原因

浏览器发出了请求,但是页面没有跳转的原因

时间:2021-07-01 10:21:17 帮助过:111人阅读

页面停留在这个页面

如果跳转应该到这个页面

function check()
{
  var rec_id_Array = new Array();
  $("[name='checkboxes']:checked").each(function () {
  rec_id_Array.push($(this).val());
  });
  listTable.split(rec_id_Array, "確定拆分訂單嗎", "split_order",{$order_mode});
}

listTable.split = function(id, cfm, opt, order_mode)
{
  if (opt == null)
  {
    opt = "split";
  }

  if (confirm(cfm))
  {
    Response.AddHeader("Access-Control-Allow-Origin", "http://segmentfault.com/");
    var args = "act=" + opt + "&id=" + id + "&order_mode= " + order_mode;
    Ajax.call(this.url, args, this.listCallback, "GET", "JSON");
  }
}

这个是buyorder.php文件

elseif ($_REQUEST['act'] == 'split_order') {
.......
header('Location: buyorder.php?act=list');
    //确保重定向后,后续代码不会被执行 
    exit;
}

结果就是浏览器想buyorder.php?act=list发出了请求,但是页面没有跟着跳转

回复内容:

页面停留在这个页面

如果跳转应该到这个页面

function check()
{
  var rec_id_Array = new Array();
  $("[name='checkboxes']:checked").each(function () {
  rec_id_Array.push($(this).val());
  });
  listTable.split(rec_id_Array, "確定拆分訂單嗎", "split_order",{$order_mode});
}

listTable.split = function(id, cfm, opt, order_mode)
{
  if (opt == null)
  {
    opt = "split";
  }

  if (confirm(cfm))
  {
    Response.AddHeader("Access-Control-Allow-Origin", "http://segmentfault.com/");
    var args = "act=" + opt + "&id=" + id + "&order_mode= " + order_mode;
    Ajax.call(this.url, args, this.listCallback, "GET", "JSON");
  }
}

这个是buyorder.php文件

elseif ($_REQUEST['act'] == 'split_order') {
.......
header('Location: buyorder.php?act=list');
    //确保重定向后,后续代码不会被执行 
    exit;
}

结果就是浏览器想buyorder.php?act=list发出了请求,但是页面没有跟着跳转

你是用Ajax方式提交的页面,这时候PHP是没办法控制页面跳转的,只能是Js获取到页面的返回值,然后通过Js来跳转页面。

是的, 同意 @有明 的说法.

你的请求是用Ajax发出的,你如果想要浏览器跳走,那么你只能返回给JS你要跳到哪里,然后由JS来使用 location 来进行跳转.

人气教程排行