我有一個網站託管在服務器上,現在我想要的是當有人按下網站上的提交按鈕時運行.php腳本(也位於同一臺服務器上)。
通過AJAX執行位於服務器上的PHP腳本
以下是Ajax代碼
$.ajax({url: "/test.php",
success: function(response){
console.log("Success",response);
}
});
我的test.php由
<?php
//exec('sudo -u www-data python /var/www/html/test.py');
echo "PHP Script Ran";
mkdir("/var/www/html/test", 0700);
?>
當我瀏覽到IP_ADDRESS/test.php的,正確顯示echo
消息,但mkdir
命令似乎沒有執行,因爲在我的服務器目錄中沒有創建文件夾。
另外我想知道,當有人按下我網站上的提交按鈕時,我該如何運行這個test.php腳本。
的JavaScript代碼是
var $ = jQuery;
var timestamp = Number(new Date());
var form = document.querySelector("form");
var database = firebase.database();
form.addEventListener("submit", function(event) {
var ary = $(form).serializeArray();
var obj = {};
for (var a = 0; a < ary.length; a++) obj[ary[a].name] = ary[a].value;
console.log("JSON",obj);
firebase.database().ref('users/' + timestamp).set(obj);
database.ref('users/' + timestamp).once('value').then(function(snapshot) {
console.log("Received value",snapshot.val());
$.ajax({
url: "/test.php",
success: function(response){
console.log("Success",response);
}
});
});
});
任何幫助,在此,將不勝感激。 謝謝
'event.preventDefault();'缺少停止表單提交。 – Jai
@Jai所以我在'form.addEventListener(「submit」,function(event){event.preventDefault(); .....'後添加了這個,但是我現在怎麼執行php腳本呢? 從ajax –
這似乎是一個權限問題:可能腳本'test.php'沒有權限添加該文件夾,也有可能是'/ var/www/html'路徑在遠程服務器上不存在。這些是我的想法... – gior91