【求助】为什么redirect失灵?出现“302 found”提示,没有跳转
为前端的AJAX请求做了一个控制器,想处理完ajax请求直接在控制器里跳到另外一个网页,处理完请求调用redirect()函数,没能跳转到指定网址,以前试过PHP的header()函数也不行,用Firebug监视,报错:"302 Found",请问这是什么原因?1、控制器确定load进来了url的helper
2、使用PHP的header函数报同样的错误
3、不是我指定的目标地址有错,因为让它跳到 http://www.baidu.com 也同样出错
ajax请求重定向可以让网页跳转?
你要ajax跳转就得用js来跳转。 jeongee 发表于 2012-5-11 13:38 static/image/common/back.gif
ajax请求重定向可以让网页跳转?
你要ajax跳转就得用js来跳转。
我是根据AJAX请求的参数生成了一个链接,处理完链接想直接在控制器里面跳转到的这个链接,理论上header()跟redirect()能实现么?那该怎么做才能直接在控制器里面跳转啊?
JS的跳转会被浏览器拦截…… 甲鱼 发表于 2012-5-11 13:44 static/image/common/back.gif
我是根据AJAX请求的参数生成了一个链接,处理完链接想直接在控制器里面跳转到的这个链接,理论上header() ...
你得仔细了解下ajax是什么东西,以及他的流程,被拦截,那就用js调用display为none的超链接的click方法。 jeongee 发表于 2012-5-11 13:47 static/image/common/back.gif
你得仔细了解下ajax是什么东西,以及他的流程,被拦截,那就用js调用display为none的超链接的click方法。 ...
谢了。
我这都是初学,就懂点儿皮毛。我接收到了AJAX请求的参数,也确定生成了正确的链接,现在就想能不能在控制器里直接跳转到这个链接……
您是说AJAX发送过来一个请求,我必须给它返回一个值嘛?(按照我上面的思路,跳转以后确实不能给AJAX请求返回值了)
如果按照您说的,我把生成的链接封装以后返回给前端,前端再用JS解析,然后JS跳转到指定链接,可能会慢点儿吧? 甲鱼 发表于 2012-5-11 14:00 static/image/common/back.gif
谢了。
我这都是初学,就懂点儿皮毛。我接收到了AJAX请求的参数,也确定生成了正确的链接,现在就想能不 ...
你这种需求是很少见的。
如果真是需要在ajax里跳转,最好的方式还是用js来实现。
你检查一下是否有滥用ajax的嫌疑,如果需要响应用户操作的话,这个操作直接链接到一个控制器,完成相应的业务,在通过redirect跳转,这是正常的流程。
你ajax把地址传到控制器里再跳转,ajax还在等待接收响应呢,能不能跳转还真是个问题。 yuzhigang5460 发表于 2012-5-11 20:52 static/image/common/back.gif
你这种需求是很少见的。
如果真是需要在ajax里跳转,最好的方式还是用js来实现。
哦~谢了!我好好检查一下 AJAX和跳转没什么关系吧,AJAX只是负责取数据和传递数据,并不能负责跳转URL。
你如果想从 AJAX 取到数据后跳转,只有一条路就是用 window.location.href = 'xxx'; 处理完ajax请求直接在控制器里跳到另外一个网页,处理完请求调用redirect()函数
这样就会在后台经redirect后打开的网页当成ajax的返回的字符串内容返回给js。
ajax是只能接受文本内容的,你的跳转动作他会转化为跳转后打开的html内容返回给你。
页:
[1]