如何使用dojoajax和REST解析JSON

如何使用dojoajax和REST解析JSON,ajax,json,rest,dojo,Ajax,Json,Rest,Dojo,我试图使用DOJO AJAX向REST服务器发送请求,但结果得到一个空对象(控制台): 单击=单击clientX=34,clientY=13 从服务器加载的JSON:null 这是我的密码: // JavaScript Document // load requirements for declarative widgets in page content require([ "dojo/parser", "dojo/dom", "dojo/domReady

我试图使用DOJO AJAX向REST服务器发送请求,但结果得到一个空对象(控制台):

单击=单击clientX=34,clientY=13 从服务器加载的JSON:null

这是我的密码:

// JavaScript Document

// load requirements for declarative widgets in page content
require([   "dojo/parser",
        "dojo/dom",
        "dojo/domReady!",
        "dijit/form/Button"
        ]);


// Start initializing
dojo.ready(function(){

dojo.connect (
                aBut1,
                "onClick",
                function(e){

                    console.log('You CLICKED = ', e);
                    dojo.xhrGet({
                                // The URL of the request
                                url: "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/find",
                                // Handle the result as JSON data
                                handleAs: "json",
                                // content
                                content: {f:"json", searchText:"new", contains:"true", searchFields:"state_new", layers:"2", returnGeometry:"false" },
                                // The success handler
                                load: function(jsonData) {
                                    // Create a local var to append content to
                                    console.info("JSON loaded from server:  ", jsonData);

                                },
                                // The error handler
                                error: function() {
                                    console.log('JSON log Error');
                                }
                            });

                });


}); // End dojo.ready
这是我想使用的REST url:

我将这个URL的结果保存在一个json文件中,AJAX可以读取该文件并返回一个包含4项的对象。它没有使用RESTURL


谢谢

没什么可说的。如果使用
curl
向该URL发出请求,会发生什么情况


您正在使用Dojo1.7吗?如果是这样的话,也许可以提供帮助(我直接链接到AMD样式,因为如果可以的话,这可能是您应该使用的)。还有更详细的说明。

我相信您正在尝试使用dojo.xhrGet访问不同的域,但它无法做到这一点

局限性

dojo.xhrGet(以及同一行中的其他函数:dojo.xhrPost, dojo.xhrDelete、dojo.xhrPut)受“同一域”安全性约束 浏览器的策略。这意味着他们只能建立一个 连接回为HTML页面提供服务的同一服务器。如果你 希望使用此API与服务器(而不是 创建您的页面,然后您必须在页面上使用代理 发起服务器,并让它转发请求。唯一的另一个 解决同一域限制的方法是使用 其他IO方法,如dojo.IO.script