0

我正在尝试保存一个基于用户与我正在创建的 Web 应用程序的交互而动态创建的字符串。只是一个字符串。没什么特别的。我正在使用 ajax 将字符串发送到服务器,它似乎已经达到了我正在使用的 file_put_contents 函数,但它似乎变得混乱了。它制作了 txt 文件,但它没有在其中放入任何内容,也没有发回 q,我让它回显的变量。

另一个奇怪的事情是,当我尝试用这个写入所述文件时

file_put_contents($putStringHere, $q);

我也试过这个:

file_put_contents($putStringHere, "$q");

该文件总是说发生了这种情况:

修改:今天,现在(我上次运行该功能)

上次打开时间:今天,5 分钟前……上次我手动打开文件

这是有道理的,除了上面的函数包含 fopen、fmodify、fclose 或它们被调用的任何东西。并且修改后的设置为我最后一次运行该功能......我对此感到非常困惑。任何可以提供帮助的人,我将不胜感激。

发送字符串的ajax(是的,我确定它是一个字符串)

//ajax for saving changes
function stylesheetBackup(str){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","stylesheetBackupFile.php",true);
    console.log("q="+str);
    xmlhttp.send("q="+str);
}

还尝试了ajax

xmlhttp.open("POST","stylesheetBackupFile.php",true);
xmlhttp.send();

我用ajax调用的php

<?php
//get the q parameter from URL
$q = $_POST["q"];
$putStringHere = "savedStyleSheet.txt";
//output the response
echo $q;

//save to a backup file
file_put_contents($putStringHere, $q);
?>
4

2 回答 2

1

你有一个不匹配:

xmlhttp.open("GET"...

$q = $_POST["q"];

于 2013-11-10T03:54:18.100 回答
0

这里有两件事可能有助于解决您的问题:

  1. 在 AJAX 请求中,您指定它是一个 GET 请求。但是,在您的 PHP 文件中,您试图获取q. $_POST试试$_GET['q']吧。
  2. 我不确定您是否能够使用xmlhttp.send. 尝试将其添加到您的 URL,如xmlhttp.open("GET", "stylesheetBackupFile.php?q=" + str, true).
于 2013-11-10T03:55:38.143 回答