簡體   English   中英

如何通過$ .ajax調用使用成功函數

[英]how do i use the success function with an $.ajax call

我不明白成功函數在jquery的$ .ajax調用中如何工作。

例如

$.ajax({
    type: "POST",
    url: "ajax.php",
    data: "function=1",
    success: function(data,response,jqxhr){
         useReturnData(data /* ??? not sure how to use the data var */ );
    }
};

ajax.php:

 <?php
      if ($_REQUEST['function'] == '1'){
            $string = "this is the data i want to return and use";
      }
 ?>

如何在成功功能中使用該數據? 似乎沒有地方可以解釋數據參數是什么,他們似乎模棱兩可。

另一個問題是,數據:“ function = 1”是否與作為成功函數參數的數據相關?

data參數的內容取決於響應的類型。 如果Content-Typeapplication/json ,則將其解析為JSON。 如果是text/html或類似內容,則內容為HTML。 就您而言,您似乎正在返回文本。 如果您將Content-Type標頭設置為text/plain或類似text/plain ,則data應僅為字符串。

為了回答您的第二個問題,Ajax請求的data屬性有所不同。 它指定了發送的請求數據。 換句話說,如果有GET請求,則為查詢字符串;如果為POST請求,則為post“ form”變量。

data變量包含php文件的輸出,因此,如果在php文件中,則可以執行以下操作:

echo "<p>success</p>";

data將包含<p>success</p>

在您的示例中,您將php文件更改為:

<?php
      if ($_REQUEST['function'] == '1'){
            $string = "this is the data i want to return and use";
      }

      // other stuff...

      echo $string;
 ?>

data就是服務器端腳本返回的內容,因此在這種情況下

this is the data i want to return and use

提供滿足if()條件的條件。

沒人真正說出data包含什么內容,因為盡管它總是一個字符串,但它可以包含各種不同的東西。 有時是HTML,有時是JSON,有時只是返回消息。

在您的情況下, data將只是一個字符串, 只要您在服務器端腳本中回顯該字符串即可

最簡單的方法是將數據加載到某個占位符元素(div?)EG中

$.ajax({
    type: "POST",
    url: "ajax.php",
    data: "function=1",
    success: function(data,response,jqxhr){
         $('div.selector').load(data);
    }
};

暫無
暫無

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

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