バックエンドとして struts コントローラーを備えた単純なバックボーン アプリケーションがあり、正常に動作していました。次に、クロスドメインリクエスト処理ロジックを含めようとしましたが、クロスドメインリクエストを行うには2つの方法があることがわかりました
- JSONP
- CORS
今私がやろうとしているのは、ブラウザーが CORS をサポートしていない場合です..次に、JSONP 要求を行う必要があります。CORS (フィルターを使用してヘッダーを追加しただけ) は完了しましたが、この部分は機能していますが、JSONP 要求を正常に行うことができません。
これに関する私の質問は次のとおりです。
サーバー (Struts コントローラー) からの応答はどうあるべきですか? 関数呼び出しのようなものを返しますか? 現在は復帰モデルです。
Backbone js では、Backbone.sync のみをオーバーライドしてデータ型を JSONP にするだけで十分ですか?
注: JSONP 呼び出しで次のエラーが発生します。
エラー: jsonpCallback は呼び出されませんでした
コード: コレクションの同期をオーバーライドしました。私の同期機能は
sync: function(method, model, options) {
options.dataType = 'jsonp';
options.url="http://localhost:8084/CrossDomain_backbone/messages.json";
//options.contentType='application/json-p';
options.error=this.errorr;
return Backbone.sync(method, model, options);
}
,
parse: function(resp){
alert('inside parse..');
return resp.model;
},
errorr:function(response,responseText)
{
alert('inside callback..: ' + responseText);
},
ありがとう。