簡體   English   中英

PHP和jQuery中的Ajax調用

[英]Ajax Call in PHP and jQuery

這是我的functions.php腳本,其中包含以下代碼。 該數組被編碼為JSON。

functions.php

 $final['custom']['main'] = queryCustom($conn, $id);
 echo json_encode($final);

我的global.js具有以下代碼,可在jQuery中發出AJAX請求:

$.ajax({
            type: "POST",
            url: "functions.php", // file to reach Ajax call
            dataType: "json", 
            data: { 
                action: 'custom',
                id: id,
                  },
                success:
                function(data) {

                setCustom(data.custom);

我想知道function(data)包含的data是什么? setCustom(data.custom) ,這是什么意思? 有人可以給我一個解釋嗎?

數據包含服務器端json_encode()提供的對象文字。 由於數據類型設置為json,因此已自動進行了解析。

例:

PHP:

$final['custom']['main'] = queryCustom($conn, $id);
echo json_encode($final);

將給出以下json字符串(格式化以更好地理解):

{
    "custom": {
        "main":[
            {
                "symbol":"MAP4",
                "official_ID":"112315"
            }
        ]
    }
}

上面的ajax調用設置為數據類型json。 jQuery知道是否設置了此數據類型,它將自動將字符串解析為對象文字。

Javascript:

$.ajax({
    type: "POST",
    url: "url.php", // file to reach Ajax call
    dataType: "json", 
    success: function(data) {
        var main = data.custom;
        console.log(main); // returns the child object with "main"
    }
});

data包含初始對象,custom是data的子對象,而main是custom的子對象。

成功:如果請求成功,將調用的函數。 該函數傳遞了三個參數:

  • 服務器返回的數據
  • 狀態
  • jqXHR (XMLHttpRequest對象)

在您的PHP代碼中,您已經添加了echo json_encode($final); 如果請求成功完成,將返回該值。 響應將傳遞給您以后可在前端代碼中使用的data

您可以在http://api.jquery.com/jQuery.ajax/上了解有關$.ajax()更多信息。

暫無
暫無

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

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