Rest Laravel重定向到post方法
为了保持基本,我想创建一个书签应用程序 我有一个简单的书签Rest Laravel重定向到post方法,rest,post,laravel,routing,laravel-4,Rest,Post,Laravel,Routing,Laravel 4,为了保持基本,我想创建一个书签应用程序 我有一个简单的书签 javascript:location.href='http://zas.dev/add?url='+encodeURIComponent(location.href) 我创建了一个rest控制器 <?php use zas\Repositories\DbLinkRepository; class LinksController extends BaseController { protected $link; func
javascript:location.href='http://zas.dev/add?url='+encodeURIComponent(location.href)
我创建了一个rest控制器
<?php
use zas\Repositories\DbLinkRepository;
class LinksController extends BaseController {
protected $link;
function __construct(DbLinkRepository $link) {
$this->link=$link;
// ...
//$this->beforeFilter('auth.basic', array('except' => array('index', 'show', 'store')));
// ...
}
public function index()
{
//return Redirect::to('home');
}
public function create()
{
}
public function store()
{
return 'hello';
//$this->link->addLink(Input::get('url'));
//return Redirect::to(Input::get('url'));
}
public function show($id)
{
//$url = $this->link->getUrl($id);
//return Redirect::to($url);
}
public function edit($id)
{
}
public function update($id){
}
public function destroy($id){
}
}
当我想重定向/添加到我添加的store方法时
Route::get('/add',function(){
return Redirect::action('LinksController@store');
});
但它从不显示hello消息,而是将我重定向到
我也试过了
return Redirect::route('links.store');
没有多大成功
感谢您的帮助问题是,一旦您
重定向::
,您就会丢失所有输入值
,因此在执行重定向时,您应该手动将它们交给控制器,如下所示:
Redirect::route('links.store', ["url" => Input::get("url")]);
最后,将$url
参数添加到存储
方法中,以接收我们在前面的方法中给出的值,如下所示:
public function store($url) {
$this->link->addLink($url);
return Redirect::to($url);
}
好了,我现在明白你想做什么了。这将有助于:
Route::get('add', 'LinksController@store');
删除:
Route::resource('links','LinksController');
并删除:
Route::get('/add',function(){
return Redirect::action('LinksController@store');
});
抱歉花了这么长时间 谢谢你的提示,但是现在即使没有输入值也不行汉克斯·西德尼,但它并没有真正回答问题,也许我错过了什么。来自bookmarklet的请求是一个GET而不是POST,我在您的代码中看不到什么可以处理来自您发送的内容的请求?框架(BackboneJS、EmberJS)或常规AJAX调用?在我的问题开始时从bookmarklet开始,这是非常基本的,但我的问题更多:为什么重定向到store方法不起作用PS:您可以尝试这样放置路由:route::get('add','LinksController@store'); 这对我有用,在我自己的资源控制器上试用过!哇,就这么简单。正如您之前所说的,重定向对于使用restful控制器的POST不起作用,我真的不明白为什么,但您的解决方案正是我所需要的。创建一个答案,以便我可以投赞成票
Route::get('/add',function(){
return Redirect::action('LinksController@store');
});