thinkphp中如何在action中实现URL的跳转

想实现一个类似百度字典的界面,web开发的新手,一个人在摸索。
在IndexAction.class.php中实现了两个方法:index()和search().
index方法中实现基本界面。类似于百度字典的初始界面,已经实现了。
想在输入框中输入字符后点击“检索”按钮后跳转另一个界面,并显示检索结果,结果总是不对。
search()方法的代码基本如下:
$word = $this->_get('word");
$result = xxx($wod); //查询
$this->assign(...............);
$this->display();
search.html模板文件也做好了的。没有问题。

奇怪的是,我的url地址没有发生变化。我的希望是url地址栏变为XXX/index.php/index/search?word='a'.
另外,我使用http watch在IE里面抓了一下包,发现返回结果是我想要的结果,只是奇怪的没有显示出来,url地址栏也没有变化。

第1个回答  2015-07-16
比如说我要跳转到 user/Index/index 的方法,可以这么写:
$this->redirect("User/Index/index",array('参数一'=>参数一的值));

达成~
第2个回答  2013-06-08
你的url 传递方式不对 thinkphp pathinfo 模式应该是index.php/index/search/word/word/

这样才是追问

你说的只是其中的URL模式中的一种,我选择的这种也是可以的。你说的这种URL模式我也用过了。

追答

思路 可定没错 你最好能把代码弄出来那样才好看 你说的是你的思路而 代码是另一回事

追问

谢谢。搞定了。是我模板文件里面的ajax代码干扰了。因为原来我是打算用ajax提交的,后面修改了,结果忘记把ajax代码屏蔽了。
不过你是个热心的人。真的很谢谢你。

本回答被提问者采纳
第3个回答  推荐于2018-04-13
在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的Action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。
$User = M('User'); //实例化User对象
$result = $User->add($data);
if($result){
//设置成功后跳转页面的地址,默认的返回页面是$_SERVER['HTTP_REFERER']
$this->success('新增成功', 'User/list');
} else {
//错误页面的默认跳转页面是返回前一页,通常不需要设置
$this->error('新增失败');
}
$this->redirect(“Index/list”); //直接跳转,不带计时后跳转本回答被网友采纳
相似回答