这是jquery代码:
field1="11111",field2="2222",field3="3333"
$.ajax({
url:"getdata" ,
data:{'field1' : field1 , 'field2':field2 , 'field3':field3 },
processData: false,
type:'post'
});
这是拉拉维尔的路线:
Route::post('getdata',function(){
$datadata=Input::post('field1');
return $datadata ;
});
当我使用正常工作的 get 方法时,但是当我想使用 post 方法时,Laravel 中会发生此错误:
Call to undefined method Illuminate'Http'Request::post()
你对
GET 和 POST 数据都使用 Input::get()
。
Route::post('getdata',function(){
$datadata = Input::get('field1');
return $datadata ;
});
get()
方法名称不是指 HTTP 谓词,而只是表示它是一个 getter 方法。
来自 Laravel 文档:
您无需担心用于请求的 HTTP 动词 (=method),因为 所有谓词的输入都以相同的方式访问。
意思是没有像Input::post()
这样的东西。
您可以将Input::get()
用于任何方法。这将起作用:
Input::get('field1');
在
发布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 ;
});