我想将画布数据作为图像发送到服务器端。我一直在发布HTTP post请求,但我无法在服务器端获取数据。 $ _POST是空的,但是当我在JS端控制相同的对象时,我得到了图像数据。
这是JS方面
var XHR = new XMLHttpRequest();
var vvFD="image=" + JSON.stringify(document.getElementById('canvas').toDataURL("image/png"));
console.log(vvFD);
XHR.upload.addEventListener('progress', uploadProgress, false);
XHR.addEventListener('load', uploadFinish, false);
XHR.addEventListener('error', uploadError, false);
XHR.addEventListener('abort', uploadAbort, false);
XHR.open('POST', 'example_upload/upload1.php');
XHR.send(vvFD);
和PHP方面是......
if(!empty($_POST))
{
//do stuff
}
else
{
echo "_POST is empty";
}
我收到消息_POST为空。
任何人都可以在这里帮忙
提前致谢
答案 0 :(得分:1)
我不完全确定你的JS是如何工作的,但我感觉它是在HTTP请求的body部分发送图像。 $ _POST不会在服务器端选择它。
尝试:
$GLOBALS["HTTP_RAW_POST_DATA"];
手册中有一个示例,它将从您的HTTP请求中输出标头。 apache_request_headers()
在这两者之间,您应该能够捕获进入PHP脚本的所有内容。