2014-10-06 77 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