[英]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.