dojo JsonRest调用不起作用

时间:2016-02-24 08:18:11

标签: dojo jsonreststore

我正在尝试从dojo调用我的RESTful服务。我从调试器中看到的只是,它试图调用服务,但它没有到达那里。没有错误。我可以看到'你好'警报。

    define(["dojo/store/JsonRest","dojo/domReady!"],
       function(JsonRest){
             alert("Hello");
             var rest = new JsonRest({
                target: "/my/rest/call"
              });
       }
);

我正在关注dojotoolkit的this page

但如果我使用declare打电话,那就可以了。

define(["dojo/store/JsonRest","dojo/_base/declare","dojo/domReady!"],
       function(JsonRest, declare){
            var rest = declare(JsonRest);
            var restResult = new rest({
                target: "/my/rest/call"
            }); 
       }
);

我在这里做错了什么?

控制台中的

错误消息:

enter image description here

1 个答案:

答案 0 :(得分:1)

你没有在信中遵循该教程。不同之处在于您使用的是define而不是require。 Dojo的definedeclare结合使用来创建新的Dojo类。 Dojo的require用于加载和使用现有的类。以下链接是推荐阅读,在您的情况下,需要特别注意“需要模块”和“定义模块”部分:

https://dojotoolkit.org/documentation/tutorials/1.8/modules/

如果您在该教程中使用require,则效果非常好:

require([
    'dojo/store/JsonRest',
], function(
    JsonRest
) {

    new JsonRest({
        target: 'some/resource/'
    }).get(1).then(function (item) {
        alert(JSON.stringify(item));
    });

});

这是关于Plunker的一个工作示例:http://plnkr.co/edit/ZhsO67BFpWB5Txqy0Zl9?p=preview