我最近開始使用Cloud9 IDE使用javascript/php進行編碼。使用PHP將JavaScript數組保存到服務器
我知道這可能是這裏的一些問題的重複,但我還沒有找到適合我的解決方案。
我有定製的陣列的javascript對象我想保存到服務器上的文件(以後被檢索重新填充頁面上的數據):
<script>
var questionList = [];
function saveToFile() {
var x =JSON.stringify(questionList);
$.post("saveQuestion.php", {data : x}, function(){alert("File saved successfully")});
}
</script>
//in the body of the html
<button id="saveToFileButton" type="button" onclick='saveToFile()'>Save to file</button>
PHP文件'saveQuestion.php'
是在同一目錄中,並如下:
<?php
$data = $_POST['data'];
file_put_contents("savetest.txt", $data);
?>
然而,儘管我盡了最大努力,'savetest.txt'
保持爲空。
我知道'x'
正在被分配正確的值,因爲我可以打印出一個HTML元素。
編輯:php腳本有權寫入文件,但據我所知,它從來沒有被調用過。這將是一個可能的原因/解決方案?
有人可以提供一個簡單的解釋,強調我做錯了什麼和可能的方法來解決它?
謝謝!
看起來好像沒什麼問題,檢查在php什麼$數據包含下一行之前跑了。 –
你的PHP文件(試圖保存到savetest.txt是否有寫入權限?) –
檢查你是否有權寫入文件,代碼看起來很好,這意味着PHP腳本可能不允許寫入文件,創建一個帶有隨機名稱的文件,並確保它可以寫入到目錄中。 –