使用laravel的route Controller时,使用ajax get方法发送两个参数
假设我们有这样一个控制器和路由:使用laravel的route Controller时,使用ajax get方法发送两个参数,ajax,laravel-4,Ajax,Laravel 4,假设我们有这样一个控制器和路由: Route::controller('/test', TestController); public function getIndex($data, $foo, $bar) { return $data; } public function postIndex() { $arg1 = Request::input('argument1'); $arg2 = Request::input('argument2'); //etc
Route::controller('/test', TestController);
public function getIndex($data, $foo, $bar)
{
return $data;
}
public function postIndex()
{
$arg1 = Request::input('argument1');
$arg2 = Request::input('argument2');
//etc...
return Request::all();
}
我们还有控制器方法
public function getIndex($data)
{
return $data;
}
这对于ajax来说是可以的,get方法
$.ajax(
{
url: '/test/' + data //this data comes from some hidden input
success: function(e){
console.log(e);
}
}
);
但我如何将两个参数发送到控制器,我不知道。谢谢您的帮助。这并不总是理想的方法,但您可以随意添加参数:
url: '/test/' + data + '/' + foo + '/' + bar,
然后像这样接受他们:
Route::controller('/test', TestController);
public function getIndex($data, $foo, $bar)
{
return $data;
}
public function postIndex()
{
$arg1 = Request::input('argument1');
$arg2 = Request::input('argument2');
//etc...
return Request::all();
}
你真的需要使用GET吗?更干净的方法是使用POST,如下所示:
Route::controller('/test', TestController);
public function getIndex($data, $foo, $bar)
{
return $data;
}
public function postIndex()
{
$arg1 = Request::input('argument1');
$arg2 = Request::input('argument2');
//etc...
return Request::all();
}
ajax调用:
$.ajax({
url: '{{ url('/test') }}',
method: 'post',
data: {
'argument1': argument1,
'argument2': argument2,
'argument3': argument3,
'_token': '{{ csrf_token() }}'
},
dataType: 'json'
}).done(function (data) {
.... do something with your returned data, if needed;
}).fail(function(e){
console.log(e); // gives your something to debug.
});
数据输出隐藏的输入是什么?下面是一个如何将数据发送到控制器的示例。你们可以有更多的对象,而不仅仅是id,同样的原则也适用:使用post是从数据库中选择的理想选择吗?休息规则?