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