我从服务器获取一些数据,并将它们作为对象在json中返回。
我的ajax请求如下:
$.ajax({
url: Url,
dataType: 'json',
success: function (result) {
var obj = JSON.parse(result)
$(".result").text(obj);
}
})
如果我尝试使用JSON.parse(result)
,则会返回错误:Unexpected token o
但在我的网络标签上的结果元素是正确的:
{service: "29”,…}
{service: “33",…}
{service: “45”,…}
{service: “70",…}
如果我不使用JSON.parse(result)
,我打印的内容如下:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
我在做错了什么?
谢谢
修改
如果我在这里使用此代码:
$.ajax({
url: Url,
dataType: 'json',
success: function (result) {
console.log (result)
$(".result").text(result.service);
console.debug (result.service);
}
})
第一个控制台具有以下结果:
0: Object
service: "29"
__proto__: Object
1: Object
service: "29"
__proto__: Object
但div中没有打印任何内容,第二个控制台未定义
答案 0 :(得分:1)
当您使用dataType:"json"
时,您不需要解析json对象,默认情况下会将其解析,您可以将其用作对象。
您期望从服务器返回的数据类型。如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西将是以字符串形式返回)。可用的类型(以及作为成功回调的第一个参数传递的结果)