2012-04-06 10 views
2

私は最近、クロスドメインのWeb APIを構築することを実験していました。 Chrome、FF、Safariなど現代のブラウザでは何の問題もありませんでした。問題はInternet Explorerであり、クロスドメインコールを行うときにXDRを$ .ajaxと反対に使用する必要があります。最初の質問:私がBackbone.jsを使用していた場合、クロスブラウザとクロスドメインのajax呼び出しの推奨方法は何ですか? a link -Twitter Facebookのような効率的なクロスドメインWeb API

私はIEとしていたもう一つの問題を使用すると、クロスドメインAJAXリクエストを作るとき、IEは「リクエストのContent-Typeヘッダのためにサポートされているだけのテキスト/平野」のような制約と制限の束を持っているということでした。したがって私の場合は、MVC C#フレームワークを使用して私のモデルにバインドすることができませんでした。

とにかく私の2番目と最後の質問は:Instagram、Facebook、Twitterなどの企業はどうやってAPIを構築していますか?私は完全なガイドを探しているわけではありませんが、それがいかに難しいかを知りたいだけです。

答えて

1

JSONP

現在の標準はJSONPを使用しています。基本的には、単一のJavaScript関数でラップされたJSONペイロードを送信するというトリックです。ブラウザは、それをスクリプトファイルのように扱い、実行します。前方に移動するための方法を移動

CORSは

CORSです。悲しいことに、ブラウザサポート(IE)はまだありません。実装している現代のブラウザには実装の違いがまだあります。

HTTPメソッドのオーバーロード

いくつかのAPIはGETX-HTTP-Method-Override: PUTまたは?_method=PUTを使用してPOST要求過負荷します。

easyXDM

APIプロバイダの数がeasyXDMを実装しています。これは、開発者がJSを読み込んでフロントエンドコードに直接組み込むJavaScript APIまたはウィジェットAPIを提供するときに、より多く使用される傾向があります。

+0

私が間違っていると私を修正しますが、JSONPはGETリクエストのみを許可します。もしそうなら、backbone.jsに必要なREST動詞をどのように満たしていますか?上記はどのようにクロスブラウザAPIを提供するのですか? – TYRONEMICHAEL

+0

はい。 JSONPはGETのみです。私はdevsの使用法をいくつか追加して自分の答えを更新しました。 – abraham

+2

ブラウザでのCORSサポートについては、かなり有望に思えます。http://www.caniuse.com/#feat=corsを参照してください。 免責事項:私はhttp://enable-cors.orgを維持していると考えられます。 CORSに少し偏っています;) –

関連する問題