0

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

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

我正在关注dojotoolkit 的这个页面

但是,如果我使用 a 调用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"
            }); 
       }
);

我在这里做错了什么?

控制台中的错误消息:

在此处输入图像描述

4

1 回答 1

1

您没有完全按照该教程进行操作。不同之处在于您正在使用define而不是require. Dojodefine与 结合使用declare以创建新的 Dojo 类。Dojorequire用于加载和使用现有的类。下面的链接是推荐阅读,在您的情况下,请特别注意“需要模块”和“定义模块”部分:

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

如果您require在该教程中使用 like,它会完美运行:

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

于 2016-02-24T13:54:42.377 回答