通过HTML post请求发送HTML5画布数据

时间:2012-01-16 17:49:20

标签: php javascript html5 html5-canvas

我想将画布数据作为图像发送到服务器端。我一直在发布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为空。

任何人都可以在这里帮忙

提前致谢

1 个答案:

答案 0 :(得分:1)

我不完全确定你的JS是如何工作的,但我感觉它是在HTTP请求的body部分发送图像。 $ _POST不会在服务器端选择它。

尝试:

$GLOBALS["HTTP_RAW_POST_DATA"];

手册中有一个示例,它将从您的HTTP请求中输出标头。 apache_request_headers()

在这两者之间,您应该能够捕获进入PHP脚本的所有内容。