Php 将画布图像保存到mysql

Php 将画布图像保存到mysql,php,javascript,html,mysql,ajax,Php,Javascript,Html,Mysql,Ajax,每隔5秒钟,我就会运行javascript来调用update.php文件(希望它能将base64代码添加到mysql中,尽管还没有弄清楚) 目前,我只是将base64代码写入名为debugConsole的文本区域 我只是不知道如何将javascript变量传递到php更新文件 HTML: 函数saveViaAJAX() { var testCanvas=document.getElementById(“testCanvas”); var canvasData=testCanvas.toData

每隔5秒钟,我就会运行javascript来调用update.php文件(希望它能将base64代码添加到mysql中,尽管还没有弄清楚)

目前,我只是将base64代码写入名为debugConsole的文本区域

我只是不知道如何将javascript变量传递到php更新文件

HTML:


函数saveViaAJAX()
{
var testCanvas=document.getElementById(“testCanvas”);
var canvasData=testCanvas.toDataURL(“image/png”);
var postData=“canvasData=”+canvasData;
var debugConsole=document.getElementById(“debugConsole”);
debugConsole.value=canvasData;
//警报(“canvasData=“+canvasData”);
var ajax=new-XMLHttpRequest();
//open(“POST”,“testSave.php”,true);
setRequestHeader('Content-Type','canvas/upload');
//setRequestHeader('Content-TypeLength',postData.length);
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
//警报(ajax.responseText);
//写出文件名。
document.getElementById(“debugFilenameConsole”).innerHTML=“另存为

重新加载此页面以生成新图像,或单击文件名以打开图像文件。”; } } 发送(postData); } setInterval(函数(){saveViaAJAX();},5000); //每5秒调用一次php更新 //同步jax: 函数myjax(){ oXhr=新的XMLHttpRequest(); open(“POST”,“update.php?game=”,false); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded;字符集=utf-8”); oXhr.send(空); } //每5秒设置一个间隔来调用myjax方法 setInterval(函数(){myjax();},5000); 资料 //这部分代码只是将随机圆圈绘制到画布中(它与保存画布无关)。 var canvas=document.getElementById(“testCanvas”); if(canvas.getContext) { var canvasContext=canvas.getContext(“2d”);
对于(i=0;i您要做的第一件事是打开您的请求

ajax.open("POST",'testSave.php',true);
然后想以
application/x-www-url-form-encoded
的形式发送数据,所以在内容类型中设置它

ajax.setRequestHeader('Content-Type', 'application/x-www-url-form-encoded');
要确保数据正确编码,请使用
encodeURIComponent

var postData = "canvasData="+encodeURIComponent(canvasData);
您还应该检查状态以查看请求是否实际成功

if (ajax.readyState == 4)
{
    if (ajax.status == 200){
    //success
    }
    else{
    //failure
    }
}
我不知道每5秒保存一个base64编码的图像是否是个好主意

var postData = "canvasData="+encodeURIComponent(canvasData);
if (ajax.readyState == 4)
{
    if (ajax.status == 200){
    //success
    }
    else{
    //failure
    }
}