簡體   English   中英

ajax調用php腳本不起作用

[英]ajax call to php script not working

我正在嘗試使用 AJAX 調用 PHP 腳本。 我在我的 deleteitem.php 腳本中放置了一個簡單的 echo 警報來檢查它是否被調用,但無論我做什么,它都不會被調用。 PHP 腳本與調用它的 js 腳本位於同一文件夾中

有人能告訴我為什么會這樣嗎? 可能的原因是什么?

$.ajax({
    url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
        type: "POST",
        dataType: "html",
        success: function(data)
        {
           //do something here
        }
});

你怎么知道它是否在調用它? javascript警報語句添加到您的callback 例如

alert(data);

如果一切正常,它將顯示您從PHP script回顯的內容。

PHP 腳本的輸出會放在data (假設請求成功)。

它不會做任何事情,直到你用一些可以做某事的代碼替換注釋//do something here

嘗試類似..傳遞如下數據

 $.ajax({
                    url: "deleteitem.php",
                    type: "POST",
                     data: { 
                          'task': 'deleteArtwork', 
                          'id': artworkObjectID
                     },              
                    success: function (msg) {

                    }
                });

我要做的第一件事是檢查成功回調的結果。

$.ajax({
    url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
        type: "POST",
        dataType: "html",
        success: function(data)
        {
           alert(data); // Alert the results
        }
}); 

大多數時候(無論如何我自己)當我注意到 ajax 沒有更新內容時,通常是我的腳本調用的 PHP 錯誤。 此方法將提醒 PHP 在該頁面上引發的任何錯誤:)

另外,請嘗試檢查您的瀏覽器控制台,看看您的 javascript 是否有任何錯誤。

正如 Amitd 所說,你不應該結合GETPOST請求。 代碼應如下所示:

$.ajax({
    url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID,
        type: "GET",
        dataType: "html",
        success: function(data)
        {
           alert(data); // alert on success
        }
});

如果您仍然沒有收到任何響應,則可能是服務器錯誤,因此您應該在 .php 腳本中,在腳本開始處放置這樣的行:

error_log("script was called, processing request...");
error_log("passed artworkObjectId is: " . $_GET["artworkObjectID"]);

如果有任何消息,您可以檢查您的 .log 文件(如果它在 apache 服務器上運行,則可以在 apache 日志文件/文件夾中找到它)。

要檢查服務器代碼是否被調用,您可以在 Firebug 中檢查傳遞的參數和 AJAX 響應。 我想這會很方便。

首先,您沒有輸出存儲在(您的案例) data的返回數據此外,您正在解析一些 GET 變量,盡管您的 AJAX 請求是 POST。 如果您通過 AJAX 使用變量,我建議使用 GET:

$.get('deleteitem.php?task=deleteArtwork&id='+artworkObjectID, function (data) {
    //On success, perhaps print the returned data:
    alert(data);
})

確保您創建的文件具有有效的文件類型,例如PHP 文件,或者只是復制粘貼現有的有效工作 php 文件並在其中寫入 ajax 代碼。 它現在會起作用。 圖中顯示的myAjax 文件是無效文件,材料是有效的 PHP 文件在此處輸入圖片說明

url: 'deleteitem.php?task=deleteArtwork&id='+artworkObjectID 

應該

url: 'deleteitem.php?task=deleteArtwork&id='.artworkObjectID,

暫無
暫無

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

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