我正在通过ajax将数据发送到我的控制器
$.ajax({ url: 'test', type: 'POST', data: { id: sessionStorage.getItem('user_id') }, dataType: 'json', contentType: "application/json; charset=utf-8"/*, success:function(id){ alert(sessionStorage.getItem('user_id')); }*/ });
在我正在使用的控制器中
public function getUserMessages(){ $id = Input::get('id'); $messages = Message::where('message_by' , Auth::user()->id)->where('message_for',$id)->get(); echo "id is ",$id; return $messages; }
我什么也没得到$id。我也试过$_POST['id']说undefined index id。如何获取ID值? $request->has('id')也返回假。
$id
$_POST['id']
undefined index id
$request->has('id')
问题在于您将应用程序内容设置为json,而无需设置内容。
jQuery Ajax
contentType(预设值:’application / x-www-form-urlencoded; charset = UTF-8’)
$.ajax({ url: 'test', type: 'POST', data: { id: sessionStorage.getItem('user_id') }, dataType: 'json', success:function(data){ console.log(data); // always good to output content for debugginn } });
希望能有所帮助。您的ajax现在应该可以工作了。