如何解决PHP后端取具体值时出现Array ( [id] => [object Object] )的问题

从php后端取前端的数据的时候遇到

Array ( [id] => [object Object] )

obj类型

首先看一下代码,我遇到的问题

index.js

 return (
        <Dropzone
            accept="image/*,audio/*,video/*,.pdf"
            getUploadParams={({file, meta}) => {

                const body = new FormData();
                body.append('fileField', file);
                body.append('id', id);

                console.log(file);
                console.log(id);
                return {url: 'http://localhost/cup/u_upload_img.php', body}
            }}

            onSubmit={handleSubmit}
            InputComponent={Input}
            getFilesFromEvent={getFilesFromEvent}
            submitButtonContent="submit"
        />
    )

上面代码中我用了console.log(), 下面的图是就是结果

在这里插入图片描述
server.js

<?php
    $json = json_encode($_POST);
    //print_r($json);

    $obj = json_decode($json, true);
    print_r($obj);

    $id = $obj->id;
    echo $id;
    

但是network得到的结果是Array ( [id] => [object Object] )

在这里插入图片描述


解决办法:

首先我们得知道我们console.log(id)的结果是一个对象,看上图就会知道了被{ }包含着

所以我想从对象中取id对应的test值,

直接body.append('id', id.id);就可以了

就是console.log(id.id) 就可以得到 test的值

好了这样就前端部分就结束了

再稍微改一下后端的代码

$json = json_encode($_POST);
//print_r($json);
$obj = json_decode($json, true);
print_r($obj);
//var_dump($json);
$id = $obj['id'];
echo $id;


是的就这样子,这是多亏了Stack Overflow的热心朋友才可以解决的

就这个我想了2天多,终于解决了,想看我和他的对话点这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值