0

我是一名高中生,我正在努力完成我的网页设计课程的期末项目。我在 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 没有得到变量。

对不起,如果格式是你见过的最糟糕的,或者这个问题以前被问过。我试图在网上搜索答案,但我还没有找到答案。

4

1 回答 1

0

我认为这很好地解释了你想要什么:HTML5: Saving Canvas Image Data Using PHP And Ajax

于 2013-05-22T12:34:07.633 回答