你这个是 ajax...ajax并不是这么用的.你要取的是 json的数据.然后再转跳到这个 view 所在的控制器里啊.
本帖最后由 rkexy 于 2018-6-25 19:23 编辑
Hex 发表于 2018-6-22 20:05
目前还不太清楚你要做什么,建议说一下你的需求,然后给你一个合理的解决方案。问题都是可以解决的。 ...
嗯……我就是将View中的HTML和JS分开来写了。显示用xxx.php(其实里面全是HTML代码);处理显示(比如多语言,动态生成等等)使用了JS文件,然后在HTML中引用JS。
现在,出现了这样的情况:我在JS中通过AJAX向PHP后台请求显示页面,也就是后台PHP调用$this->load->view(xxxx/xxxx);
正常来说,新页面在此时已经跳转了。但是现在出现的情况是,没有跳转,而是将需要显示的网页代码全部通过AJAX的response返回了.
我以前没做过WEB,所以有些概念对我来说很陌生,导致现在总是踩坑。
飘扬过海 发表于 2018-6-25 14:25
不太明白为啥要在新页面跳转??
我想在有些情况下在当前标签页刷新显示,而有些情况需要在新标签页显示。 rkexy 发表于 2018-6-25 19:20
嗯……我就是将View中的HTML和JS分开来写了。显示用xxx.php(其实里面全是HTML代码);处理显示(比如多语 ...
不是太理解你的需求,你是想 ajax 取的 HTML 在新页面显示? Hex 发表于 2018-6-26 14:01
不是太理解你的需求,你是想 ajax 取的 HTML 在新页面显示?
本意很简单……就想在JS中调用后端PHP的index函数,index函数中包括load->view函数,来达到跳转的目的。
rkexy 发表于 2018-6-26 17:45
本意很简单……就想在JS中调用后端PHP的index函数,index函数中包括load->view函数,来达到跳转的目的。
...
你想要php跳转,请使用
header("location:http://login.xxx.com/success");
想要ajax后跳转,请在ajax的success里使用location.href跳转
$.ajax({
url:'xxxxx',
dataType:'json',
…
success:function(ret){
location.href='http://xxxxxx';
}
}); rkexy 发表于 2018-6-26 17:45
本意很简单……就想在JS中调用后端PHP的index函数,index函数中包括load->view函数,来达到跳转的目的。
...
楼上说的没错,先别管PHP,先确定你的JS是不是 ajax 请求?如果是 ajax 请求,就不能直接 load->view() 因为你可能需要返回一个 JSON 而不是 HTML;ajax 请求后要根据拿到的 JSON 再去执行 JS 代码 window.location 。这和普通 PHP 程序是没有区别的,建议想一下你以前写 PHP 的时候是怎么处理的,跟那个是没有任何区别的。
页:
1
[2]