我遇到Ajax問題。我完全不喜歡Ajax,對於這樣一個愚蠢的問題,我表示歉意。無法獲取Ajax作品
我有我想要管理的元素列表(由db加載),即刪除,修改它們的名稱..;我想使用ajax來更改數據庫和列表。
但我希望該頁面被修改後,數據庫已被修改。我可以在修改數據庫之前修改頁面,但這不是我想要的。
這是我的代碼:
function setXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}
function modifyCat(n,newN){
xhrObj = setXMLHttpRequest();
var url = "modifyCat.php?action=modify&cat="+n+"&newCat="+newN;
xhrObj.open("GET", url, true);
links = document.getElementById("cat").getElementsByTagName("a");
updatePage(links);
xhrObj.send(null);
}
function updatePage(links) {
if (xhrObj.readyState == 4) {
var risp = xhrObj.responseText;
//code that works... if not put inside this if!
}
xhrObj.send(null);
}
ModifyCat.php是
//...
else if($action='modify'){
$n = cleanSimpleString($_GET['cat']);
$nN = cleanSimpleString($_GET['newCat']);
$qry = "UPDATE Categorie Set Nome='$nN' WHERE Nome='$n'";
$check = mysql_query($qry) or $db=0;
}
據我瞭解if (xhrObj.readyState == 4)
應該想得到我問。相反,如果沒有任何反應(在頁面中,PHP正確加載)。沒有這個如果頁面被正確地重新加載,但是db正在工作..
編輯。
我想這樣做沒有框架,我認爲這是一個簡單的事情,可以簡單地解決。
謝謝。
你能告訴我們'modifyCat.php'腳本嗎? (另外,如果你修改狀態,你應該使用'POST'而不是'GET') – 2010-07-06 10:33:15
爲什麼你不使用一些ajax框架?它將幫助您處理瀏覽器兼容性,並使您的代碼變得簡單容易 – 2010-07-06 10:36:22