如何解决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天多,终于解决了,想看我和他的对话点这里

猜你喜欢

转载自blog.csdn.net/weixin_43814775/article/details/108333118