首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以提交一个对象数组吗?

可以提交一个对象数组吗?
EN

Stack Overflow用户
提问于 2019-05-20 23:17:29
回答 3查看 63关注 0票数 0

我使用的是Laravel 5.3,在向控制器提交对象数组时遇到了问题。有可能吗?如果没有,有没有办法让我一次提交多个对象?

请求示例:

代码语言:javascript
复制
let req = {
    'data[]': [
        { id: 1, name: 'test1' },
        { id: 2, name: 'test2' }
    ]
};

然后,为了测试,我简单地返回了请求的内容:

代码语言:javascript
复制
public function testArray(Request $request) {
    return response()->json($request->all());
}

得到了这样的结果:

代码语言:javascript
复制
data: [
    "[object Object]",
    "[object Object]"
]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-05-21 12:44:15

在你的js中

代码语言:javascript
复制
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);
    }
});

在控制器中:

代码语言:javascript
复制
public function testArray(Request $request) {
     $post = $request->all();

     return response()->json($post);
}

在路由文件中:(web.php)

这里我使用了DemoController,您可以将其替换为您的控制器名称

代码语言:javascript
复制
Route::post('/test-data', 'DemoController@testArray');

结果:

代码语言:javascript
复制
req: (2) […]
​​
0: Object { id: "1", name: "test1" }
​​
1: Object { id: "2", name: "test2" }
​​
length: 2
票数 1
EN

Stack Overflow用户

发布于 2019-05-21 02:35:31

在本例中,result是一个对象数组,result是第一个对象。例如,要访问id,可以使用result。例如,您可以使用for循环来查看真实数据。

另外,我认为你可以使用json_encode。

希望它能帮上忙!

票数 0
EN

Stack Overflow用户

发布于 2019-05-21 05:32:39

在显示对象/数组时,return经常出现问题。简单地试一下:

代码语言:javascript
复制
dd($request->all())

而不是return,你会感到惊讶:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56223821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档