【发布时间】:2011-08-23 17:44:41
【问题描述】:
我在 dojo 中向我的 servlet 发出 xhrget 请求。响应是一个 json 对象或 json 数组。
但是当打印它作为 Object[] 对象给出的响应时。如何在发送时获取 json 对象?
【问题讨论】:
我在 dojo 中向我的 servlet 发出 xhrget 请求。响应是一个 json 对象或 json 数组。
但是当打印它作为 Object[] 对象给出的响应时。如何在发送时获取 json 对象?
【问题讨论】:
“打印”响应是什么意思?如果将对象转换为字符串(例如通过 document.write),那么它会呈现为奇怪的[object Object]。
您可以使用 console.log 而不是将其打印到调试控制台,这样做
press F12 on Chrome / IE to make that appear
【讨论】:
您可能需要在 ioArgs 中使用“json”指定“handleAs”属性来将响应文本解析为 Json 对象:
var xhrArgs = {
url: "/foo/bar.json", // uri to your remote json resource
handleAs: "json",
load: function(data, ioargs) {
// data is the parsed JavaScript object you want
},
error: function(error, ioargs) {
}
}
//Call the asynchronous xhrGet
var deferred = dojo.xhrGet(xhrArgs);
或者您只得到包含 json 表示的响应字符串。然后在你的加载回调函数中用 dojo.toJson 解析它:
var obj = dojo.toJson(data);
【讨论】: