вызовов обратно отправляется отсроченной затем параметр ::
require(["dojo/request/script", "dojo/dom", "dojo/dom-construct", "dojo/json", "dojo/on", "dojo/domReady!"],
function (script, dom, domConst, JSON, on) {
on(dom.byId("startButton"), "click", function() {
domConst.place("<p>Requesting...</p>", "ret");
script.get("http://ajax.googleapis.com/ajax/services/search/web", {
jsonp: "callback",
query: {
"v": "1.0",
"q": "internet kittens"
}
}).then(function (data) {
//Call you function here, or deal with data
domConst.place("<p>response data: <code>" + JSON.stringify(data) + "</code></p>", "ret");
});
});
});
Fiddle :: http://jsfiddle.net/D49GP/
UPDATE Вы не сможете использовать стандартный синтаксис dojo для этого. Проблема в том, что когда dojo создает обратный вызов для then, он создает функцию обратного вызова в формате object.method. Это не работает, потому что Google использует окно [nameoffunction] для обратного вызова. Так как вы можете вручную добавить параметры для сценария ввода-вывода. используйте ниже:
script.get("https://apis.google.com/js/client.js", {
//jsonp: "onload",
query: {
onload:<callbackfunction>
}
})
но когда я запросить файл JS, который Google OAuth клиента LIB, я ничего, чтобы потом не получать .. во время отладки .. – chiranjeevigk
Ok есть проблема с тем, как Dojo создает обратный вызов и способ, по которому Google пытается их вызвать. Я обновил свой ответ выше .. – tik27