2011-12-15 3 views
1

誰もこれを見たことがありますか?私はこれをどのように拡張するのではありません。唯一の症状です。 IEでは同期されません。Backbone.jsはIEのみで同期しません

+0

フィドラートラフィックはまったく生成されません。 – timDunham

+0

私はjqueryへの実行に従う - IEのトランスポートがnullの場合://トランスポートがない場合、私たちは自動的に中止します if(!transport){ done(-1、 "No Transport"); – iwayneo

+1

クロスドメイン投稿を投稿している可能性はありますか? – timDunham

答えて

2

IEでのクロスドメイン要求は、XDomainRequestというIE固有のオブジェクトを介してのみサポートされます。 XDomainRequestは、他のすべての主要なブラウザで実装されているXMLHTTPRequestオブジェクトと比較すると、あまりにも基本的です。

私はあなたがAjaxリクエストにjQueryを使用していると推測しています。 jQueryはXDomainRequestをIE上でクロスドメインコールするために使用しないので、運が悪いです!

XDomainRequestは、XMLHTTPRequestの機能のサブセットのみを提供します。たとえば、XDomainRequest [通常は、この目的のためにjQueryの "onBeforeSend"コールバックを使用します]を介してHTTPヘッダー/ポストリクエストにカスタムヘッダーを挿入することはできません。

このMSDNのドキュメントを参照してください:http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx

私の現在のプロジェクトでこれらのすべてが発生し、最終的には自分のアプリケーションをホストしているApacheサーバー上で、つまりmod_proxyというプロキシを使用してしまいました。 How to make an ajax request to an API using CORS and backbonejs

3

これは、他の人がIEバックボーン同期の問題を探すのに役立つかもしれません。グローバルなJSONオブジェクトが存在しないため、同期が機能しないIE6-7の問題がありました。デフォルトのBackbone Sync実装では、JSON.stringifyを使用してパラメータを生成します。 JSONオブジェクトは、そう、あなたが条件付きのコメントを必要とwindow.JSONオブジェクトを追加クロックフォードのjson2.jsスクリプトが含まれますIE6に存在し、7ではありません。

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

バックボーンはIE6から右に働いていたことを追加した後。

関連する問題