我是一名高中生,我正在努力完成我的网页设计课的最后一个项目。我遇到了一个问题与全局数组"POST"在PHP。
一些背景信息:我有一个HTML 5画布元素,我已经使用Js (JavaScript)能够在画布上绘制。到目前为止一切都很好。现在我想将画布保存到服务器上的一个文本文件中,这样其他人就可以获取这个。txt文件并重新绘制画布。
切入实际问题。我使用了函数"。todataurl()"来提取画布的代码。现在我想使用AJAX将此发送到php文件,该文件反过来将其写入txt文件,然后它应该关闭该文件并退出php脚本。
目前我的代码是这样的:
Javascript:function save() {
if (selectSave.selectedIndex == 0) {
dataURLSave1 = canvas.toDataURL();
var request = ajaxRequest;
request.open("POST", "http://berzanlabb.se/te11e/jimbjo310/Projektsida/write_1.php", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", dataURLSave1.length);
request.setRequestHeader("Connection", "close")
request.onreadystatechange = function() {//Call a function when the state changes.
if(request.readyState == 4 && request.status == 200) {
alert("Done: "+request.responseText);
}
}
request.send(dataURLSave1);
return;
}
php: 和
<?php
$file=fopen("save_1.txt","w+") or exit("Unable to open file!");
$_POST['dataURLSave1'];
$test=$_POST['dataURLSave1'];
echo fwrite($file,"$test");
fclose($file);
?>
这段代码适用于全局变量"GET",但不适用于POST。我面临的问题是GET不够长,无法发送我想要发送的变量。所以我选择POST。但是现在我不确定为什么php没有得到这个变量。
如果格式是你见过的最糟糕的,或者如果这个问题以前被问过,我很抱歉。我试着在网上寻找答案,但我还没有找到一个。
我认为这正好解释了你想要的:HTML5:使用PHP和Ajax保存画布图像数据。