Php 将画布图像保存到mysql
每隔5秒钟,我就会运行javascript来调用update.php文件(希望它能将base64代码添加到mysql中,尽管还没有弄清楚) 目前,我只是将base64代码写入名为debugConsole的文本区域 我只是不知道如何将javascript变量传递到php更新文件 HTML: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
函数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
}
}