1

我目前有一个对象数组,我希望使用 xhrget 将其调用到我的 HTML 页面中。这是来自我的服务器的所述对象数组的片段:

[ 
    { "Name":"John" , "id":"1" }, 
    { "Name":"Anna" , "id":"2" }, 
    { "Name":"Peter" , "id": "3" }
    { "Name":"Peter" , "id": "4" }
]

因此,我使用 xhrget 调用此对象数组

require(["dojo/request", "dojo/dom", "dojo/dom-construct", "dojo/json", "dojo/on", "dojo/domReady!", "dojo/_base/xhr"], 

function (dom,json,request,domconst,on,xhr){

    dojo.ready(function(){

        var targetNode = dojo.byId("licenseContainer");  

        var xhrArgs = {
            url: "http://141.41.11.71:3000/page.json",
            handleAs: 'json',
            timeout : 2000,

            load: function(data){


            targetNode.innerHTML = data;
        },
        error: function(error){
            targetNode.innerHTML = "An unexpected error occurred: " + error;
        }
    }

    var deferred = dojo.xhrGet(xhrArgs);
    });
});

我本质上希望将指定的对象放入由 ID 指定的节点/div 中。但是我不断收到错误消息:TypeError: 'undefined' is not a function。

有什么建议吗?

4

1 回答 1

1

您可以使用值为 john 的方式访问 mane 属性data[0].Name

    var xhrArgs = {
        url: "http://141.41.11.71:3000/page.json",
        handleAs: 'json',
        timeout : 2000,

        load: function(data){


        targetNode.innerHTML = data[0].Name;
    },
    error: function(error){
        targetNode.innerHTML = "An unexpected error occurred: " + error;
    }
}

编辑

要显示所有名称,您必须遍历数组。

        load: function(data){
            var html = '';
            for (var i = 0; i < data.length; i++)
                html += data[i].Name+'<br>';
            targetNode.innerHTML = html;
    },
于 2013-01-10T23:42:01.360 回答