簡體   English   中英

json,如何返回特定值而不是對象

[英]json, how to return specific value and not the object

我是這個json和ajax的新手,some1可以幫我這個忙嗎?

我的JS:

        $(document).ready(function(){
        $(".testajax").submit(function(){


            $.ajax({
              type: "POST",
              url: "controller.php",
              data: $(".testajax").serialize()
            })
              .done(function( msg ){
                $(".result").html("name:" + msg.name);

             });    

             return false;


        });

這是我的傑森

$return= array("name"=>$_POST);
header('Content-Type: application/json');
echo json_encode($return);

我的HTML

<form method="post" action="controller.php" class="testajax">
    <input type="text" name="name" value="">
    <button type="submit">SAVE</button>
</form>

<p class="result"></p>

我想要做的是當我在表格中輸入“ Maria”並單擊“保存”時,返回結果應該是“ Maria”。 但是,相反,我得到的是“名稱:對象”

在這里,您將整個POST數組插入到name元素中:

$return= array("name"=>$_POST);

因此,JSON將如下所示:

{
    "name": {
        "name": "john"
    }
}

使用它,您將不得不更改JavaScript以使用msg.name.name

$(".result").html("name:" + msg.name.name);

您看到的是Object因為默認情況下json_encode()會將關聯數組轉換為對象( $_POST是關聯數組)。 將名稱放在name元素而不是整個POST數組中會更有意義,如下所示:

$return= array("name"=>$_POST['name']);

使用它,您當前的JavaScript將可以使用。

暫無
暫無

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

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