パラメータを入力すると成功/エラー/完了コールバックは発生しませんが、Fiddlerは200応答を表示し、 。 それが鍵です。フィドラーは、往復が成功したことを示しており、要求されたデータはここではクライアント側で良好な順です。問題は、バックボーンの成功/失敗/完了が呼び出されなかったことです。ただ大きなものを手に入れてください。Backbone.jsモデルフェッチ:成功/エラー/完了したコールバックが発生しないようにするパラメータ
まったく同じベースURLを使用して、パラメータを取り出して(パラレルにWebサービスから削除すると)、成功と完了の両方がトリガーされます。以下は私の "with"パラメータの取得です:
myModel.fetch({
data: {
name: 'Bob',
userid: '1',
usertype: 'new'
}
}, {
success: (function() {
alert(' Service request success: ');
}),
error: (function (e) {
alert(' Service request failure: ' + e);
}),
complete: (function (e) {
alert(' Service request completed ');
})
});
バックボーンの動作はどう違うのですか?パラメータの有無にかかわらず、同じURLです。
私は、バックボーンフェッチのボンネットの下で、 "with"パラメータのシナリオはポストであり、 "without"パラメータはシンプルなgetであるということを推測しています。 IEコンソールはこれをわずかに異なる出力で反映しています。パラメータ「と」
私のIEブラウザのコンソールは、リクエストが必要なことを示す警告(エラーではないが、警告)CORSを報告します。
SEC7118:!http://example.com/service/myservice.asmx/myoperation?name=Bob&userid=1&usertype=new必要なクロスオリジンリソース共有(CORS)のためのXMLHttpRequest。
私はちょうど私に "ねえ、あなたはクロスオリジンのリクエストをして、それを聞かせました"と言っていると思います。パラメータがないと、私はその警告を受け取りません。
アクセス制御は-起源許可:
*とレスポンスは確かにそのポリシーを反映して戻って来るのか、私はに設定されたサービスヘッダを持っています。
なぜ、バックボーンの成功/エラー/完了コールバックがパラメータ付きでトリガされないのですか?データはそれを元に戻します。バックボーンは成功を反映すべきではないか?
'fetch'は単一の引数をとります。 [this](http://backbonejs.org/docs/backbone.html#section-55)を読んでください。 – fbynite