Dojo xhrget 响应

Posted

技术标签:

【中文标题】Dojo xhrget 响应【英文标题】:Dojo xhrget response 【发布时间】:2011-08-23 17:44:41 【问题描述】:

我在 dojo 中向我的 servlet 发出 xhrget 请求。响应是一个 json 对象或 json 数组。

但是当打印它作为 Object[] 对象给出的响应时。如何在发送时获取 json 对象?

【问题讨论】:

【参考方案1】:

“打印”响应是什么意思?如果将对象转换为字符串(例如通过 document.write),那么它会呈现为奇怪的[object Object]

您可以使用 console.log 而不是将其打印到调试控制台,这样做

press F12 on Chrome / IE to make that appear

【讨论】:

不,我只是发出警报,看看我是否正确接收了内容。我需要通过响应更新数据存储的内容。怎么办? @john:正如我提到的,警报将事物转换为字符串。你已经有了你需要的数组/对象,唯一的问题是你如何打印它。【参考方案2】:

您可能需要在 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);

【讨论】:

以上是关于Dojo xhrget 响应的主要内容,如果未能解决你的问题,请参考以下文章

我的代码有啥问题(使用 dojo xhrGet Ajax)

从 ajax 调用加载 Dojo 表单

TD-在http请求头上添加参数

将 json 数据从 Web 服务器拉入文本

JS如何清除IE浏览器缓存

如何在 Liferay 7 中禁用 SennaJS/SPA?