微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使Javascript发送了正确的数据,我的foreach循环也没有检索键值对

如何解决即使Javascript发送了正确的数据,我的foreach循环也没有检索键值对

当我通过ajax(axios)提交按钮时,我设法将以下数据发送到Laravel,直到控制台打印为止:

{name: "task",fields: Array(2)}
fields: Array(2)
0: {_token: "hRQyJ9NlwLdKpZbU7W2REV2I5YF6Pg8D6HcoCof7",name: "name1",type: "type1",default: "default1"}
1: {_token: "hRQyJ9NlwLdKpZbU7W2REV2I5YF6Pg8D6HcoCof7",name: "name2",type: "type2",default: "default2"}
length: 2
__proto__: Array(0)
name: "task"
__proto__: Object

因此,现在我想读取来自fields数组的数据,并且对于每次迭代,我想将键和值添加到字符串中并添加新行。

所以我在控制器中有这个

$fields = $request->fields;
$a = '';
foreach ($fields as $key => $value) {
    $a .= "value of $key is $value";
}
return $a;

按下“保存”按钮时,我收到500个内部服务器错误

在此过程中,我通过返回第一个元素再次检查$ fields是否为空,我获得了成功:

return $fields[0];

下面是我在JS中所拥有的:

let crud_object = {
    name: crud_name.value,fields: data
}
console.log(crud_object)

axios.post('/dashboard/project/new',crud_object)
.then( res => console.log(res.data))
.catch(err => console.log(err.response.dta))

除了控制台中打印的对象外,我也看到了这一点:

VM73400:1 POST http://127.0.0.1:8000/dashboard/project/new 500 (Internal Server Error)
(anonymous) @ VM73400:1
dispatchXhrRequest @ app.js:285
xhrAdapter @ app.js:119
dispatchRequest @ app.js:765
Promise.then (async)
request @ app.js:542
Axios.<computed> @ app.js:567
wrap @ app.js:1131
(anonymous) @ all.js:68

对于每个无法检索键值对的循环,我的问题是什么?

编辑: 我在laravel.log中看到了这一点:

[2020-11-05 19:11:09] local.INFO: array (
  0 => 
  array (
    '_token' => 'hRQyJ9NlwLdKpZbU7W2REV2I5YF6Pg8D6HcoCof7','name' => 'fewf','type' => 'ewfe','default' => 'fwefwe',),1 => 
  array (
    '_token' => 'hRQyJ9NlwLdKpZbU7W2REV2I5YF6Pg8D6HcoCof7','name' => 'fwef','type' => 'fwef','default' => 'wefwe',)

解决方法

我认为连接错误,

$fields = $request->fields;
$a = '';
foreach ($fields as $field){
    foreach ($field as $key => $value) {
        $a .= " value of " . $key . " is " . is_string($value) ? $value : 
        implode(',',$value);
    }
}
return $a;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。