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