簡體   English   中英

Ajax調用后無法提醒JSON對象

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

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