我将表单数据发布到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);
}
答案 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);
}
});
}