我写一个脚本来进行ajax调用,这是我的代码
function ajax_post(obj) {
obj = '#'+ obj;
var formData = $(obj).serializeArray();
$.ajax({
url: '__core/info.php',
type:'get',
dataType: 'json',
data: formData,
success: function(resp){
alert(resp);
}
})
}
这是我的info.php
$last_Res = theme::get_last_themes_desk(); //$last_Res is an array
echo(json_encode($last_Res));
但是当它发出警报时显示返回对象对象.....如果数据类型是json我应该怎么办我应该将它转换为另一种格式? $ last_Res是一个数组
答案 0 :(得分:3)
响应您的评论(显示响应数据,这是一个包含单个对象的数组):
//resp = [{"id":"2","name":"babak_theme","sh_describ":"support css3 and ie 9 ","rate":"3","time":"2"}];
resp = resp[0];
alert('id => ' + resp.id + ', Name => ' + resp.name);//etc...
会很好地为你服务......
$last_Res
很可能是关联数组。 JS没有关联数组,但将它们转换为对象/对象文字:
//php:
$foo = array('foo' => 'bar');
//in JS:
var foo = {foo: 'bar'};
alert(foo);//alerts [object Object]
console.log(foo);//shows you what properties/prototypes/methods the object has
这就是全部。要访问数据:
for (var prop in resp)
{//for "assoc arrays"
if (resp.hasOwnProperty(prop))
{
alert(prop + ' => '+resp[prop]);
}
}
for (var i=0;i<resp.length;i++)
{//for regular arrays
alert(i + ' => ' + resp[i])'
}
答案 1 :(得分:1)
在您的info.php中,您应该将Content-Type
标题设置为application/json
以指明您要返回的内容:
header('Content-Type: application/json');
答案 2 :(得分:0)
你还没有发布json格式。通常你可以访问resp。像这样的价值观:
如果json格式为:
data['index']['subindex1'] = 'value1'
data['index']['subindex2'] = 'value2'
你可以
alert(resp.index.subindex1);