&引用;“数组到字符串的转换”;通过AJAX向控制器Laravel 7发送请求
我试图向我的控制器发送ajax post请求,以便将客户数据保存在数据库中。 我向你们展示我的控制器方法和ajax请求 我的控制器方法如下所示:&引用;“数组到字符串的转换”;通过AJAX向控制器Laravel 7发送请求,ajax,controller,laravel-7,Ajax,Controller,Laravel 7,我试图向我的控制器发送ajax post请求,以便将客户数据保存在数据库中。 我向你们展示我的控制器方法和ajax请求 我的控制器方法如下所示: public function Verify(Request $request) { $this->validate($request, [ 'first_name' => 'required', 'middle_name' => 'requi
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"
我不知道这个代码有什么问题。
任何帮助都将不胜感激。。。谢谢你 我检测到这个问题,我从controller返回到ajax的响应是错误的。所以我改变了它,它在下面给出
$response = array(
'status' => 'success',
'msg' => 'customer created successfully',
);
return json_encode($response);
}
您还可以告诉我们您用来保存在DB中的数据类型吗?@Vipertecpro数据类型是什么?数据类型是任何您应该使用longText但在数据库中使用varchar的数据,或者在将数据保存到数据库时,您应该使用json_encode($whateverlongthring)?@Vipertecpro这是我的客户迁移,我想通过上述问题中提到的ajax请求将其存储在数据库中迁移为:$table->id()$表->字符串('name')$表->字符串('email')$表->整数('contactno')$表->文本('streetaddress')$表->文本('streetaddressline_2')->nullable()$表->字符串('city')$表->字符串(“省”)$表->整数('邮政编码')$表->字符串('country')$表->时间戳();您是否检查了“ErrorException”所说的内容?您的迁移很好,可以用完整的ErrorException消息更新问题吗?我相信您会在ErrorException消息中发现问题,另外请将代码放入try catch块