[英]Unable to alert a json object after a ajax call
我有一個帶有幾個值的數組的php文件。 我也有一個帶有單個輸入字段的html頁面。 我有一個偵聽器,用於偵聽輸入字段中的更改,當發生更改時,會對具有數組的php文件進行ajax調用。 php文件使用json_encode()將數組轉換為json。
完成此操作后,數據將返回到我的html頁面,並且我正在嘗試提醒數據。
但是我不能,沒有錯誤,只是什么也沒發生,我不確定為什么。
這是我的代碼。
<input type="text" name="searchDB" id="searchDB" placeholder="Type Address Here" autofocus=""/>
<script>
$(document).ready(function(){
$("#searchDB").change(function(){
$.ajax({
type:"GET",
url: "request_9_dnm_db.php",
data: "hi="+$("#searchDB").val(),
dataType: "json",
success:function(msg){
var obj = jQuery.parseJSON(msg);
alert(obj.name);
}//Success
});//Ajax Call
});//SearchDB Change
});//document.ready
</script>
這是我的PHP
<?php
$boom = array("user"=>array( array(
"name"=>"Bob",
"last"=>"Smith"), array(
"name"=>"Jon",
"last"=>"Snow"
)
)
);
$coded = json_encode($boom);
return $coded;
您在錯誤的地方使用了return
in PHP。 給這個代替:
echo $coded;
應該使用上面的代碼而不是return $coded;
。
您已經添加了dataType: "json"
因此無需使用var obj = jQuery.parseJSON(msg);
再次解析它var obj = jQuery.parseJSON(msg);
$.ajax({
type:"GET",
url: "request_9_dnm_db.php",
data: "hi="+$("#searchDB").val(),
dataType: "json",
success:function(obj){
alert(obj.name);
}//Success
});//Ajax Call
另外在您的php中,您需要回顯json編碼的字符串,而不是返回
echo $coded;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.