我不能爲了我的生活找出爲什麼會發生這種情況。AJAX發佈不發送數據?
這是一種轉發,請原諒我,但我有新的數據。
我正在呼籲退出()有做一個jQuery AJAX調用到PHP腳本中的JavaScript註銷功能...
function logOut(){
var data = new Object;
data.log_out = true;
$.ajax({
type: 'POST',
url: 'http://www.mydomain.com/functions.php',
data: data,
success: function() {
alert('done');
}
});
}
PHP函數調用是在這裏:
if(isset($_POST['log_out'])){
$query = "INSERT INTO `token_manager` (`ip_address`) VALUES('logOutSuccess')";
$connection->runQuery($query); // <-- my own database class...
// omitted code that clears session etc...
die();
}
現在,18小時以外的工作,但由於某種原因,每隔一段時間,POST數據將不會觸發我的查詢。 (這將持續大約一個小時左右)。 我想通後的數據沒有被我的腳本的末尾添加此設置...
$query = "INSERT INTO `token_manager` (`ip_address`) VALUES('POST FAIL')";
$connection->runQuery($query);
所以,現在我知道某些我的註銷功能被跳過,因爲在我的數據庫是下面的數據:
alt text http://img535.imageshack.us/img535/2025/screenshot20100519at125h.png
如果不被跳過它,我的數據會出現這樣的:
alt text http://img25.imageshack.us/img25/8104/screenshot20100519at125.png
我知道它被跳過的原因有兩個,其中一個是我的第一個函數結束時的die(),另外兩個是,如果成功,則會在表中註冊「logOutSuccess」。
有什麼想法?一位朋友說這是一家非常棒的託管公司(hostgator.com)。我個人喜歡他們,因爲他們很便宜,我是cPanel的粉絲。但是,如果是這樣的話?
在此先感謝。
-J
你見證過這種情況嗎?瀏覽器類型/版本似乎很重要?有人或事情(蜘蛛/機器人)可能會試圖直接去那個PHP頁面...這會導致它下降到「POST FAIL」。我知道googlebot有時會進入我的php頁面,這些頁面僅適用於ajax – Jack 2010-05-19 20:21:43
@jack,這個網站仍處於開發階段,所以我積極的只是我,因爲我是一個試圖註銷的人!我設置了註銷FAIL查詢,讓我知道爲什麼我無法首先註銷。感謝那些信息,但我一定會嘗試阻止蜘蛛訪問該頁面。 – 2010-05-19 20:27:56
@jack(第2部分)我想起初它只是FireFox ......但它也開始在Safari和IE中發生。 – 2010-05-19 20:28:50