没有从ajax获取控制器中的后期数据

时间:2018-03-16 06:19:09

标签: laravel laravel-5

我将表单数据发布到A控制器但是当我发布数据时,当我调用print_r($_POST);它返回的空数组时,我没有进入控制器,我不知道我错过了什么

请让我知道你想从我这边输入什么

var data2 = [];
data2['user_firstname'] = user_firstname;
data2['user_lastname'] = user_lastname;
data2['user_phone'] = user_phone;
data2['user_email'] = user_email;
data2['user_username'] = user_username;
data2['user_password'] = user_password;
console.log(data2);

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

$.ajax({
    type: "POST",
    url: "http://localhost/shago/register/submit",
    data: { 'data2': data2 },
    // dataType: "text",
    success: function(resultData) { console.log(resultData); }
});

控制器代码

public function submit()
{
    print_r($_POST);
}

5 个答案:

答案 0 :(得分:1)

您可以使用以下

public function submit(Request $request)
{
     dump($request);
}

答案 1 :(得分:1)

尝试在提交功能

上添加请求作为参数
public function submit(Request $request)
{
    print_r($request);
}

另外,您真的需要将您的信息作为数组传递吗? 你可以创建一个新对象并传递它。

var data2={
'user_firstname': user_firstname,
'user_lastname': user_lastname,
'user_phone': user_phone,
'user_email': user_email,
'user_username': user_username,
'user_password': user_password
};
    $.ajaxSetup({
    headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

$.ajax({

  type: "POST",
  url: "http://localhost/shago/register/submit",
  data: data2,
  success: function(resultData) { console.log(resultData); }
});

答案 2 :(得分:1)

您需要将Request Class注入到submit方法中。这可以帮到你:

public function submit(\Illuminate\Http\Request $request)
{
    dd($request->all()); // will print all data
}

如果您不想注入请求,那么此代码可能会帮助您

public function submit()
{
    dd(request()->all()); // will print all data
}

祝你好运!!!

答案 3 :(得分:1)

也许该请求被Laravel CSRF保护政策截获。为了证明这一点,您应该在VerifyCsrfToken中间件文件中添加请求URL,如下所示: protected $except = [ 'yoururl' ];
如果你能在控制器中得到你期望的数据,那么我是对的。

答案 4 :(得分:0)

感谢所有我发现错误,当我发送数组数据时,我已经修改了代码,并且其工作正常 见代码

 $.ajax({
          url: "register/submit", 
          type: "post",
          headers: {
              'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
          },
          data: {'user_firstname':user_firstname,'user_lastname':user_lastname,'user_phone':user_phone,'user_email':user_email,'user_username':user_username,'user_password':user_password},
              success: function(result){
                 console.log(result);
                }
            });

      }