小编典典

无法检索通过控制器Laravel 5.1中的Ajax发送的数据

ajax

我正在通过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')也返回假。


阅读 244

收藏
2020-07-26

共1个答案

小编典典

问题在于您将应用程序内容设置为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现在应该可以工作了。

2020-07-26