在laravel中用post方法发送带有ajax的字符串

时间:2015-02-01 08:09:53

标签: php jquery laravel

这是jquery代码:

field1="11111",field2="2222",field3="3333"
    $.ajax({
       url:"getdata" ,
       data:{'field1' : field1 , 'field2':field2 , 'field3':field3 },
       processData: false,
       type:'post'
    });

这是laravel的路线:

Route::post('getdata',function(){
   $datadata=Input::post('field1');
   return $datadata ;
});

当我使用get方法正常工作时。但是当我想使用post方法时,这个错误发生在laravel:

Call to undefined method Illuminate\Http\Request::post()

3 个答案:

答案 0 :(得分:0)

您同时使用Input::get(),GET POST数据。

Route::post('getdata',function(){
    $datadata = Input::get('field1');
    return $datadata ;
});

get()方法名称不引用HTTP谓词,而只是意味着它是一个getter方法。

答案 1 :(得分:0)

发布javascript arrys或对象时使用JSON.stringify

将ajax更改为,

 $.ajax({
   url:"getdata" ,
   data: JSON.stringify({ field1 : field1 , field2:field2 , field3:field3 }),
   processData: false,
   type:'post'
});

在控制器中,

Route::post('getdata',function(){
   $datadata=Input::json('field1');
   return $datadata ;
});

答案 2 :(得分:0)

来自Laravel docs

  

您无需担心用于请求的HTTP谓词(=方法),如   对所有动词都以相同的方式访问输入。

意思是没有像Input::post()这样的东西  您可以将Input::get()用于任何方法。 这将有效:

Input::get('field1');