我是一名高中生,我正在努力完成我的网页设计课程的期末项目。我在 PHP 中遇到了全局数组“POST”的问题。
一些背景信息:我有一个 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 没有得到变量。
对不起,如果格式是你见过的最糟糕的,或者这个问题以前被问过。我试图在网上搜索答案,但我还没有找到答案。