2014-10-06 51 views
1

你如何发布这个AJAX请求到一个文本文件?它被张贴到URL是沿着submit.php线的东西,但我似乎无法弄清楚如何正确地将其保存到一个文件名为“data.txt中”使用AJAX发布到文本文件?

function makeAjaxRequest(cData) { 
    var promise = $.ajax({ 
     type: "POST", 
     url: url, 
     data: cData, 
     dataType: 'json', 
     async: true 
    }); 

    promise.done(successFunction); 
    promise.fail(errorFunction); 
    promise.always(alwaysFunction); 
} 

数据本身在之前的声明中已使用data = JSON.stringify(collectedData);的格式。

编辑:我猜我用的措辞很差,对不起。我打算使用POST方法将数据传递到submit.php。我希望submit.php文件将文本连接到文本文件。

目前submit.php文件包含以下内容:

<?php file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX); ?> 
+2

你能告诉我们php代码吗? – 2014-10-06 13:51:57

+0

你的意思是你想写在服务器上的文件?这将不得不在submit.php的代码中处理。 (您也可以配置.htaccess以不同的方式处理“.txt”URL,但我不确定这是您的意图) – Katana314 2014-10-06 13:52:23

+0

您不会“发布到文本文件”。您发布到服务器端脚本,该脚本将POST输入数据写入您的文件。 – 2014-10-06 13:55:51

回答

2

我没有看到你是如何获取的AJAX数据,因为$data在代码中未定义,试试这个:

<?php 
    $data = file_get_contents('php://input'); 
    file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX); 
?> 

这会写json字符串到mydata.txt

+0

请注意,他使用的是POST,而不是PUT – Qualcuno 2014-10-06 14:20:42

+0

@Qualcuno'file_get_contents'会读取后缀值 – meda 2014-10-06 14:21:31

+0

* encoded *后值(如果使用multipart/form-data,可能会特别难看,即使使用“standard “编码) – Qualcuno 2014-10-06 14:22:28