この問題についてしばらく検索しましたが、それについて多くを見つけることができませんでした。
私の JavaScript アプリケーションでは、jsonreststore と dgrid を介して安静なバックエンドのデータを視覚化しようとしています。
それは私がこれまでに得たものです:
<script>
function getRequest(args) {
return {
url: 'http://myworkingapiwithevents/events',
handleAs: 'json',
sync: false,
headers: {
'Authorization': 'Basic HriB5jsHUib2K='
}
}
}
require(["dojo/store/JsonRest", "dojo/rpc/JsonService"], function (JsonRest, JsonService) {
service = new JsonService('http://myworkingapiwithevents/events', true /*isJson*/, undefined /*schema*/, getRequest);
myStore = new JsonRest({ service: service });
});
require(["dojox/grid/DataGrid", "dojo/data/ObjectStore", "dojo/domReady!"
], function (DataGrid, ObjectStore) {
grid = new DataGrid({
store: dataStore = new ObjectStore({ objectStore: myStore }),
structure: [
{ name: "Event", field: "name", width: "200px" }
]
}, "grid3");
grid.startup();
});
</script>
最初に、バックエンド サービスで機能するハードコードされた base64 認証を使用します。getRequest メソッドを使用して、jsonreststore が承認を処理できるサービスの「回避策」を初期化します。
firebug (Chrome) では、次のエラーが発生します。
ErrorCtor {stack: "Error: Unable to load http://myworkingapiwithevents/ev... p://localhost:52894/Scripts/dojo/dojo.js:1094:43)", message: "Unable to load http://myworkingapiwithevents/events status: 0", response: Object, status: 0, responseText: ""…}
Error {popStackFrame: function} "Error: Unable to load SMD from http://myworkingapiwithevents/events
クロスドメインの問題でしょうか?バックエンド サービスがクロス ドメインをサポートしていることを知っています。