这是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()
答案 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');