似乎有一個問題,我用JavaScript調用jQuery的Ajax調用PHP的代碼。 ajax調用似乎很成功,但我沒有從php函數返回正確的信息。從javascript到PHP的jquery ajax調用
在php函數中,我創建了一個SQL查詢。我發回查詢作爲響應,在執行刪除查詢之前對其進行調試。這是div顯示查詢的HTML。
<div id="thenode" style="position: absolute; top: 30px; left: 0px; width: 150px; background-color: white; z-index: 9999;"> </div>
這裏是jquery ajax調用。有兩個變量被髮送到PHP函數:nodeid用於刪除節點,以及用於刪除該函數的選項。
function deleteitem()
{
//get selected node
var selectnod = getCookie('pnodid');
//define php info and make ajax call
$.ajax({
url: "uptree.php",
type: "POST",
data: { node: selectnod, option: "delete" },
cache: false,
success: function (response) {
$('#thenode').html(response);
}
});
}
這裏是PHP函數。
<?php
function uptree() {
$node = $_POST['node'];
$option = $_POST['option'];
if($node == '' || $option == '') {
return '';
}
$dbco = mysql_connect('localhost', 'root', 'mmowebdb');
if (!$dbco)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("pagelinks", $dbco);
$sql = "DELETE FROM dtree_table WHERE nid='$node'";
return $sql;
}
?>
應該很簡單,但是這個ajax調用返回一個空字符串並導致HTML中的div消失。這是我第一次在實際項目中使用ajax。這個問題一定很容易找到知道阿賈克斯真正做什麼的人。你能說出問題嗎?
我只是想知道爲什麼你必須通過cookie獲取選定的節點。你確定cookie是在您發送ajax請求時寫入的嗎? (如果你需要這個cookie,爲什麼你不讀取通過PHP?) – Rufinus