我使用的是Laravel 5.3,在向控制器提交对象数组时遇到了问题。有可能吗?如果没有,有没有办法让我一次提交多个对象?
请求示例:
let req = {
'data[]': [
{ id: 1, name: 'test1' },
{ id: 2, name: 'test2' }
]
};
然后,为了测试,我简单地返回了请求的内容:
public function testArray(Request $request) {
return response()->json($request->all());
}
得到了这样的结果:
data: [
"[object Object]",
"[object Object]"
]
发布于 2019-05-21 12:44:15
在你的js中
let req = [
{ id: 1, name: 'test1' },
{ id: 2, name: 'test2' }
];
var baseurl = window.location.protocol + "//" + window.location.host;
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: baseurl + "/test-data",
type: 'post',
data:{
req:req
},
cache: false,
success: function(response) {
console.log(response);
}
});
在控制器中:
public function testArray(Request $request) {
$post = $request->all();
return response()->json($post);
}
在路由文件中:(web.php)
这里我使用了DemoController,您可以将其替换为您的控制器名称
Route::post('/test-data', 'DemoController@testArray');
结果:
req: (2) […]
0: Object { id: "1", name: "test1" }
1: Object { id: "2", name: "test2" }
length: 2
发布于 2019-05-21 02:35:31
在本例中,result是一个对象数组,result是第一个对象。例如,要访问id,可以使用result。例如,您可以使用for循环来查看真实数据。
另外,我认为你可以使用json_encode。
希望它能帮上忙!
发布于 2019-05-21 05:32:39
在显示对象/数组时,return
经常出现问题。简单地试一下:
dd($request->all())
而不是return
,你会感到惊讶:)
https://stackoverflow.com/questions/56223821
复制相似问题