如何解决访问 FormData 值
我正在尝试向带有多个参数(2 个字符串,1 个 blob)的 PHP 页面发送 XHR 请求,但我无法在 PHP 代码中获取这些值..
这是我的代码:
JS
function initRequeteUpdImg(blob,file)
{
img = document.getElementById("id");
img.src = blob;
requeteUdpRec = new XMLHttpRequest();
requeteUdpRec.onreadystatechange = callback_ReqUpdRec;
requeteUdpRec.open("POST","function/Modify_action.PHP",true);
requeteUdpRec.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
function readFile(event)
{
var fileType = file.type;
blob = blobUtil.arrayBufferToBlob(event.target.result,fileType);
formData = new FormData();
formData.append("id",id);
formData.append("action","updImg");
formData.append("file",event.target.result);
requeteUdpRec.send(formData);
}
var reader = new FileReader();
reader.addEventListener('load',readFile);
reader.readAsArrayBuffer(file)
}
if(isset($_POST["action"]) && $_POST["action"]=="updImg")`{
$requete = "select eleve_id from eleves where person_id = ?";
$req_args = array($_POST['id']);
$req_type = "i";
$res = MysqLi_fetch_array(prepared_query($requete,$req_args,$req_type));
$requete = "update signature SET signature_blob = '".$_POST["file"]."' where eleve_id = ".$res["eleve_id"];
$res = unprepared_query($requete,$req_type);
}
else
{
http_response_code (404);
}`
我显然做错了什么,但在哪里......?
我是 JS 新手,所以如果你能详细说明它会非常好! 感谢您的帮助!
编辑:
var_dump($_POST) 的返回:
array(1) {
["------WebKitFormBoundaryKNMixbnGfrQKo4ox
Content-disposition:_form-data;_name"]=>
string(265) ""id"
8
------WebKitFormBoundaryKNMixbnGfrQKo4ox
Content-disposition: form-data; name="action"
updImg
------WebKitFormBoundaryKNMixbnGfrQKo4ox
Content-disposition: form-data; name="file"
[object ArrayBuffer]
------WebKitFormBoundaryKNMixbnGfrQKo4ox--
"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。