使用laravel路由控制器时,使用ajax get方法发送两个参数

时间:2015-04-15 11:16:20

标签: ajax laravel-4

假设我们有一个像这样的控制器和路线:

Route::controller('/test', TestController);

我们也有控制器方法,

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);
  }
 }

);

但我怎么会向控制器发送两个参数,我不知道。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

它并不总是理想的方式,但您可以根据需要添加参数:

url: '/test/' + data + '/' + foo + '/' + bar,

接受他们:

public function getIndex($data, $foo, $bar)
{
    return $data;
}

答案 1 :(得分:-1)

你真的需要使用GET吗?更简洁的方法是使用POST,如下所示:

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.
            });