簡體   English   中英

jQuery和AJAX發布問題

[英]Post issue with jQuery and AJAX

在一個名為test.html的頁面上,我想通過jquery ajax從一個名為test2.php的頁面中檢索一些JSON數據。

以下代碼不起作用

test.html:

$.ajax({ 
    url:"test2.php",
    type:"POST",
    dataType: "json",
    success: function(data){
        alert(data.b.d);
    }
});

test2.php:

<?php
    $c= '{"a":{"d":6994,"e":20003,"f":7968,"g":12505,"h":6814},"b":{"d":10623,"e":3404,"f":405,"g":17066,"h":24219}}';
    echo $c;
?>

您的test2.php沒有包含正確的頭文件。 在此之后添加

header('Content-type: application/json');

我建議使用Firebug之類的JS調試工具檢查您的請求是否返回有效的響應。

如果您不隨請求發送任何數據,則可能不需要使用POST。 您可以改為GET。 甚至還有一個有用的速記方法:

$.get("test2.php", function(data) {
    // handle your data here
}, 'json'); 

test2.php您正在艱難地工作。 無需構建JSON字符串,只需構建您要發送給客戶端的數據結構即可。 然后使用json_encode()對其進行編碼。 您應該發送JSON內容類型標頭,因此jQuery知道如何解碼數據:

$c = array(
    'a'=>array(
        'd' =>6994,
        'e' => 2003,
        'f' => 7968,
     )
    // and so on...
);
header('content-type: application/json');
echo json_encode($c);

暫無
暫無

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

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