Javascript json,如何返回特定值而不是对象
我不熟悉json和ajax,有人能帮我吗 我的JS:Javascript json,如何返回特定值而不是对象,javascript,jquery,json,Javascript,Jquery,Json,我不熟悉json和ajax,有人能帮我吗 我的JS: $(document).ready(function(){ $(".testajax").submit(function(){ $.ajax({ type: "POST", url: "controller.php", data: $(".testajax").serialize()
$(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;
});
这是我的Json
$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”并单击保存。。。返回结果。。。应该是“玛丽亚”。但是,我得到的是“name:Object”这里,您将整个POST数组插入
name
元素:
$return= array("name"=>$_POST);
因此JSON将如下所示:
{
"name": {
"name": "john"
}
}
使用它,您必须将JavaScript更改为使用msg.name.name
:
$(".result").html("name:" + msg.name.name);
您看到的是对象,因为默认情况下,json\u encode()
会将关联数组转换为对象($\u POST
是关联数组)。将名称放在name元素而不是整个POST数组中更有意义,如下所示:
$return= array("name"=>$_POST['name']);
使用它,您当前的JavaScript将正常工作。您的JSON看起来像什么?@leetylor-The-PHP发布了。我知道禁止说谢谢。。。。但是谢谢你对我的问题的解释……啊,接得好。我没看到那个+1.