我正在创建一个返回JSON的Ajax。我可以在Firebug中看到返回的JSON,并对JSLint进行了验证 我无法提取内容。以下是我所看到的:
Data: {"shipments":[{"companyName":"GLOBAL SOL INC.", so on...........}]}
load: function(data){
console.log("responseText " + data.responseText);
**Above results in: responseText undefined**
var myVar = data.shipments;
console.log("myVar " + myVar);
myVar [Object object]
上面的结果答案 0 :(得分:1)
在您的示例中,myVar引用包含对象的数组。要获取companyName值,请使用data.shipments[0].companyName
或myVar[0].companyName
。
答案 1 :(得分:0)
看起来响应工作正常。
尝试console.log(data)
或console.log(myVar)
。
如果你在没有字符串的情况下调用控制台,那么它将显示对象的内容(至少在Chrome中)。
然后,您将能够告诉您需要要求的对象元素。这可能是一个JSON格式问题,但很难从你的问题中看出来。
答案 2 :(得分:0)
响应是否包含"responseText"
属性?
{"shipments": [...], "responseText": ..., ...}
如果没有,那么data.responseText
为undefined
是有意义的,因为它没有被定义。
如果您要从responseText
对象中查找XMLHttpRequest
,它可能是load
函数的不同参数。哪个参数取决于调用函数的脚本(特定库或自酿?)。
至于"[Object object]"
,这是toString
的默认Object
结果。如果您想再次使用JSON表示,请使用JSON.stringify(...)
:
console.log("myVar " + JSON.stringify(myVar));
或者,大多数浏览器控制台都提供浏览对象的功能。要使用它,只需将其作为单独的参数传递:
console.log("myVar", myVar);