簡體   English   中英

AJAX Post不發送數據?

[英]AJAX Post Not Sending Data?

我不能為我的生活弄清楚為什么會這樣。

這是一個轉發,所以原諒我,但我有新的數據。

我正在運行一個名為logOut()的javascript注銷函數,它已經對php腳本進行了jQuery ajax調用...

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);

所以,現在我知道我的注銷功能正在被跳過,因為在我的數據庫中有以下數據:

替代文字http://img535.imageshack.us/img535/2025/screenshot20100519at125h.png

如果沒有被跳過,我的數據會顯示如下:

替代文字http://img25.imageshack.us/img25/8104/screenshot20100519at125.png

我知道它被跳過了兩個原因,一個是我的第一個函數結束時的die(),另外兩個,如果成功則會在表中注冊“logOutSuccess”。

有什么想法嗎? 一位朋友說這是一家虛張聲勢的托管公司(hostgator.com)。 我個人喜歡他們,因為他們便宜而且我是cpanel的粉絲。 但是,如果是這樣的話???

提前致謝。

-J

好的,對那些感興趣的人。

我刪除了完整的URL http://www.mydomain.com/functions.php並將其替換為本地路徑functions.php,這就是訣竅。

顯然AJAX存在跨域ajax調用的問題,而且我不在專用服務器上,所以我想發生的事情是每隔幾個小時(或幾分鍾)我從不同的位置點擊我的腳本導致AJAX解除POST數據。

-J

嘗試在jquery $ .ajax函數上啟用錯誤報告,您的代碼看起來像

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');
        },
       error: function(XMLHttpRequest, textStatus, errorThrown) {
       alert(textStatus+" - "+errorThrown);
       }
    });
}

看看是否能說明你的情況。

我有一種強烈的感覺,它更多的是服務器端問題,而不是客戶端問題。

奇怪的是你在一段時間內看到了這個問題。 如果客戶端工作,那么至少刷新頁面或重新啟動瀏覽器應該修復它。

函數末尾的die()是可疑的,但我不太確定它會如何影響它。

順便說一下,您可以在FireBug的Net選項卡中看到http標頭,以了解這些參數是否已正確發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM