私は、adobe airをバックボーンと組み合わせて使用する際にいくつか問題があります。問題は、私のプログラムの初めに、自分のコレクションのurl属性を設定するために使用するBackbone.ControllerのURLを指定するということです。プログラムが起動すると、BackboneはそのURLを使用して応答を取得し、コレクション内の解析関数を呼び出します。そこで、その応答を使用して適切なモデルを構築します。問題は最初、.xmlファイルへの相対パスを指定すると機能しますが、フルパスを指定すると機能しません。つまり、コレクションの解析関数の応答引数は次のようになります。ヌル。ここではいくつかのコードは次のとおりです。adobe airとbackbone url属性の問題
//works
$(document).ready(function(){
window.myApp = MyApp({ url : "/data/file.xml" })
})
///..
var MyApp = Backbone.Controller.extends({
/* setup routes */
initialize: function(opt){
this.tree = new MyTree();
this.tree.url = opt.url;
}
})
//...
var MyTree = Backbone.Collection.extends({
model: myTreeModel,
parse: function(response){ /* do stuff with response */ }
});
上記の作品は、私は、相対パスを使用しますが、私はこの
window.myApp = MyApp({ url : "file:///C:/Users/userName/MyProject/data/file.xml" })
のように完全なパスを使用する場合は解析するために送信された応答が定義されていない場合。誰でも手掛かりがありますか?
ウェブページからローカルファイルにアクセスすることはできません。セキュリティホールを想像してみてください! – Julien