在PHP中使用全局变量POST来接收java脚本变量


Using the global variable POST in PHP to receive a java script variable

我是一名高中生,我正在努力完成我的网页设计课的最后一个项目。我遇到了一个问题与全局数组"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保存画布图像数据。