"Array to string conversion" 而 POST 通过 AJAX 请求控制器 Laravel 7
"Array to string conversion" While POST request through AJAX to Controller Laravel 7
我正在尝试向我的控制器发送 ajax post 请求,以便将客户数据保存在数据库中。
我向你们展示了我的控制器方法和 ajax 请求。
我的控制器方法如下:
public function Verify(Request $request) {
$this->validate($request, [
'first_name' => 'required',
'middle_name' => 'required',
'last_name' => 'required',
'email' => 'email:rfc,dns',
'areacode' => 'required|digits:2',
'phonenumber' => 'required|digits:7',
'streetaddress' => 'required',
'streetaddressline_2' => 'required',
'city' => 'required',
'province' => 'required',
'postcode' => 'required',
'country' => 'required',
]);
$input = $request->all();
$customer = new Customer();
$customer->name = $input['first_name'] . ' ' . $input['middle_name'] . ' ' . $input['last_name'];
$customer->email = $input['email'];
$customer->contactno = $input['areacode'] . $input['phonenumber'];
$customer->streetaddress = $input['streetaddress'];
$customer->streetaddressline_2 = $input['streetaddressline_2'];
$customer->city = $input['city'];
$customer->province = $input['province'];
$customer->postcode = $input['postcode'];
$customer->country = $input['country'];
$customer->save();
$response = array(
'status' => 'success',
'msg' => 'customer created successfully',
);
return Response::json_encode($response);
}
}
这是我的 ajax 请求
var customer_data = {
first_name: first_name,
middle_name: middle_name,
last_name: last_name,
email: email,
areacode: areacode,
phonenumber: phonenumber,
streetaddress: streetaddress,
streetaddressline_2: streetaddressline_2,
city: city,
province: province,
postcode: postcode,
country: country
};
if (
first_name &&
middle_name &&
last_name &&
email &&
areacode &&
phonenumber &&
streetaddress &&
streetaddressline_2 &&
city &&
province &&
postcode &&
country
) {
$.ajax('/verifydata',
{
method: 'POST',
dataType: 'json', // type of response data
data: customer_data,
success: function (data) { // success callback function
console.log('success: '+data);
},
error: function (data) { // error callback
var errors = data.responseJSON;
console.log(errors);
}
});
$("#form1").show();
}
当我向我的控制器发送 post ajax 请求时,它给我错误
{message: "Array to string conversion", exception: "ErrorException",…}
exception: "ErrorException"
file: "/home/ew3tfqy9/public_html/vendor/laravel/framework/src/Illuminate/Support/Str.php"
line: 449
message: "Array to string conversion"
我不知道这段代码有什么问题。
任何帮助将不胜感激...谢谢...!!!
我发现了这个问题,这是我从控制器 return 到 ajax 的错误响应。所以我改变了它并在下面给出
$response = array(
'status' => 'success',
'msg' => 'customer created successfully',
);
return json_encode($response);
}
我正在尝试向我的控制器发送 ajax post 请求,以便将客户数据保存在数据库中。 我向你们展示了我的控制器方法和 ajax 请求。
我的控制器方法如下:
public function Verify(Request $request) {
$this->validate($request, [
'first_name' => 'required',
'middle_name' => 'required',
'last_name' => 'required',
'email' => 'email:rfc,dns',
'areacode' => 'required|digits:2',
'phonenumber' => 'required|digits:7',
'streetaddress' => 'required',
'streetaddressline_2' => 'required',
'city' => 'required',
'province' => 'required',
'postcode' => 'required',
'country' => 'required',
]);
$input = $request->all();
$customer = new Customer();
$customer->name = $input['first_name'] . ' ' . $input['middle_name'] . ' ' . $input['last_name'];
$customer->email = $input['email'];
$customer->contactno = $input['areacode'] . $input['phonenumber'];
$customer->streetaddress = $input['streetaddress'];
$customer->streetaddressline_2 = $input['streetaddressline_2'];
$customer->city = $input['city'];
$customer->province = $input['province'];
$customer->postcode = $input['postcode'];
$customer->country = $input['country'];
$customer->save();
$response = array(
'status' => 'success',
'msg' => 'customer created successfully',
);
return Response::json_encode($response);
}
}
这是我的 ajax 请求
var customer_data = {
first_name: first_name,
middle_name: middle_name,
last_name: last_name,
email: email,
areacode: areacode,
phonenumber: phonenumber,
streetaddress: streetaddress,
streetaddressline_2: streetaddressline_2,
city: city,
province: province,
postcode: postcode,
country: country
};
if (
first_name &&
middle_name &&
last_name &&
email &&
areacode &&
phonenumber &&
streetaddress &&
streetaddressline_2 &&
city &&
province &&
postcode &&
country
) {
$.ajax('/verifydata',
{
method: 'POST',
dataType: 'json', // type of response data
data: customer_data,
success: function (data) { // success callback function
console.log('success: '+data);
},
error: function (data) { // error callback
var errors = data.responseJSON;
console.log(errors);
}
});
$("#form1").show();
}
当我向我的控制器发送 post ajax 请求时,它给我错误
{message: "Array to string conversion", exception: "ErrorException",…}
exception: "ErrorException"
file: "/home/ew3tfqy9/public_html/vendor/laravel/framework/src/Illuminate/Support/Str.php"
line: 449
message: "Array to string conversion"
我不知道这段代码有什么问题。 任何帮助将不胜感激...谢谢...!!!
我发现了这个问题,这是我从控制器 return 到 ajax 的错误响应。所以我改变了它并在下面给出
$response = array(
'status' => 'success',
'msg' => 'customer created successfully',
);
return json_encode($response);
}