Heim > Artikel > Backend-Entwicklung > 浏览器发出了请求,但是页面没有跳转的原因
页面停留在这个页面
如果跳转应该到这个页面
<code><input name="split" type="button" id="split" value="拆分訂單" onclick="check()"></code>
<code>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"); } }</code>
这个是buyorder.php文件
<code>elseif ($_REQUEST['act'] == 'split_order') { ....... header('Location: buyorder.php?act=list'); //确保重定向后,后续代码不会被执行 exit; }</code>
结果就是浏览器想buyorder.php?act=list发出了请求,但是页面没有跟着跳转
页面停留在这个页面
如果跳转应该到这个页面
<code><input name="split" type="button" id="split" value="拆分訂單" onclick="check()"></code>
<code>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"); } }</code>
这个是buyorder.php文件
<code>elseif ($_REQUEST['act'] == 'split_order') { ....... header('Location: buyorder.php?act=list'); //确保重定向后,后续代码不会被执行 exit; }</code>
结果就是浏览器想buyorder.php?act=list发出了请求,但是页面没有跟着跳转
你是用Ajax方式提交的页面,这时候PHP是没办法控制页面跳转的,只能是Js获取到页面的返回值,然后通过Js来跳转页面。
是的, 同意 @有明 的说法.
你的请求是用Ajax发出的,你如果想要浏览器跳走,那么你只能返回给JS你要跳到哪里,然后由JS来使用 location
来进行跳转.