[英]access json array elements
这可能是非常简单的修复方法。 我发布到一个php页面,它返回在db-中创建的新元素的ID(通过$.ajax
发布) - 我已经记录了返回的值。
以下代码是我用来发布的代码
$.ajax({
type: "POST",
url: "<?=base_url()?>events/add_tag_js/",
data: url,
success: function(html){
$("#tag_list").append('<li><span id="" class="tag">'+formvalue+'<span class="remove_tag"><a class="remove_tag_link" href="#">x</a></span></span></li>');
$("#add_tag").val('');
console.log(html);
},
failure: function(){
$('.error').show();
$("#add_tag").val('');
}
});
console.log的返回值是
{"error":false,"msg":"Tag added","id":44}
但是当我做alert(html.id)
我得到了未定义? 我需要解析返回的json吗? 或者我的json不正确?
也许您没有在服务器端脚本上设置正确的内容类型,因此jQuery不知道这是JSON。 因此,要么在服务器脚本上将内容类型设置为application/json
,要么也可以使用dataType
参数指示您在请求中使用JSON:
...
type: "POST",
url: "<?=base_url()?>events/add_tag_js/",
data: url,
dataType: 'json', // indicate that you expect JSON from the server
...
虽然建议您的服务器端脚本设置正确的内容类型。
试着告诉它把它作为Json处理,在你的情况下html是一个String,所以你必须要一个var myObj = eval(html); 这很糟糕
$.ajax({
url: url,
dataType: 'json',
data: data,
success: callback
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.