問題タブ [xdomainrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
62614 参照

jquery - IE8/9でのjQueryとXDomainRequestを使用したCORS

更新: XDomainRequestは非常に貧弱な実装であり、多くの制限があるため、XDomainRequestに投資しないことを強くお勧めします。基本的には、非SSLサーバーへのGETリクエストに対してのみ実際に機能するため、jsonpなどを使用することをお勧めします。


CORSを使用してクロスドメインAPIを呼び出していますが、InternetExplorerで問題が発生しています。オブジェクトを介してIE8とIE9でCORSが可能になるはずですが、XDomainRequest動作させることができません。

JQueryはXDomainRequestのネイティブサポートを提供することを拒否しますが、このサポートを追加するためにいくつかのjQueryプラグインが提案されています。このトピックでは、そのような2つのプラグインを提案します。jQuery.XDomainRequest.jsxdr.jsで、動作することが報告されています。Afaik、プラグインはの動作を自動的にオーバーライドする必要がありますjQuery.ajaxここで別のプラグインを見つけました。

CORS対応サーバーへのajaxリクエストを実行するそれぞれのプラグインjQuery.XDomainRequestxdrおよびjquery.ie.corsを含む小さなデモページを配置しました。ページはChromeとFirefoxで機能していますが、IE8 / 9は(要求を行う前であっても)すぐにアクセス許可拒否エラーをスローします。このMSDNの投稿では、別のハンドラーを追加することを提案してxhr.onprogress = function() {};いますが、これを試しましたが、どちらも機能していません。

私が間違っていることの手がかりはありますか?また、MS仮想サーバーを使用してIE8でテストしましたが、まったく同じ問題があります。

編集:わかりました。問題の一部は、HTTPS経由でPOSTを使用していたことであることがわかりました。どうやらXDomainRequestはHTTPS経由のCORSを許可していません。HTTPに切り替えることはできますが、POSTが本当に必要です。

Edit2:このストーリーの終わりについては、githubでこの問題を参照してください。HTTP POSTを使用する場合、xDomainRequestはリクエスト本文(引数)をとしてのみエンコードできることがわかりますtext/plainapplication/x-www-form-urlencoded誰もがまたはを使用するため、これはほとんど価値がありませんmultipart/form-data

0 投票する
1 に答える
903 参照

post - POST リクエストの送信時に XDomainRequest にコンテンツ タイプがありません

私はいくつかのクロスドメイン ajax リクエストに取り組んでいます。XDomainRequest を使用して、IE8 および IE9 でリクエストを送信します。現在、Get リクエストではうまく機能しますが、Post リクエストではうまく機能しません。Fiddle を使用してリクエストをキャプチャすると、Post リクエストに Content-Type ヘッダーがないことがわかりました。誰もこれについて知っていますか?

0 投票する
1 に答える
1579 参照

javascript - jQuery $.ajax 拡張機能 XDomainRequest onprogress

短いバージョン:

これをこれで動作させたい:

長いバージョン:

$.ajax オブジェクトにプログレス メソッドを追加し、IE8 および IE9 の XDomainRequest オブジェクトで動作する jQuery 拡張機能を作成したいと考えています。

現在、上記のプラグインを使用すると、XMLHttpRequest オブジェクトの進行状況イベント コールバック ハンドラしか定義できません。

ただし、XDomainRequest は onprogress イベントも提供します。基本的に XDomainRequest のラッパーが必要です。例えば。progressEvent.length は xdr.responseText.length に対応します。

どこから始めるべきかについての提案をいただければ幸いです。

0 投票する
0 に答える
714 参照

javascript - 新しい html スクリプト タグと XMLHttpRequest / XDomainRequest の比較

IE6 で XDomainRequest がサポートされていないことを回避しようとしています。私は解決策を持っていると思いますが、このアプローチについての意見は何ですか?...

リクエストを実行するだけでよいGETので、XDR オブジェクトを作成する代わりに、script必要なときにページに新しいタグを動的に追加します ( onclick)。srcタグの には、クエリ文字列に必要なすべてのパラメーターが含まれます。次に、サーバーからコンテンツを返すことができます。

賢い/醜いビットは、そうでなければonloadXDR インスタンスの関数であった JavaScript 関数でコンテンツをラップすることです。したがって、実際に返されるのは、 xdr.responseText 値が既に内部にある関数を含むスクリプトです。

考え?

0 投票する
1 に答える
1586 参照

ajax - httpサーバーからhttpsサーバーへのie9のクロスドメイン投稿データ

別のドメインと別のプロトコルに投稿されているユーザー入力データがあります。いくつか読んだ後、マイクロソフトのXDomainRequestオブジェクトがクロスオリジンの相互作用を許可していないことを発見しました (異なるプロトコル、ポート、ここの #7 .

私は、FF、Safari、および Chrome (これは機能します) に対して標準の CORS AJAX 呼び出しを行っており、IE9 に対して XDomainRequest オブジェクトを使用しようとしています。

元のサイトのバージョンを開くと、httpsデータを受信 URL に送信することに成功しましたが、データを解析できませんでした。xdr.send(post_data);送信されているように「見えます」が、それに関する情報を見つけることができなかったり、コンソールで表示したりできませんでした。私はこれを見ましが、よくわかりませんでした。コンソールが応答しました:Unable to get value of the property 'postMessage': object is null or undefined

誰でもこれについて助けてもらえますか?

0 投票する
1 に答える
1288 参照

javascript - ステータスが 200 のときに XDomainRequest が応答しない

ステータスが 200 のときに XDomainRequest が応答しない

応答テキストがnullになっています。行方不明の場所を教えてください。

0 投票する
1 に答える
3001 参照

get - XDomainRequest が IE9 で機能しない

Web アプリケーション フォルダーにはなく、GET 要求によってレベルアップしている XML ドキュメントを読み込もうとしています。loadXMLDoc は FF と chrome では正常に機能しますが、XDR は IE では機能しません。

私はこのようにメソッドを呼び出しています:

問題はルート ディレクトリの 1 レベル上にあることにあると思われます。これは、同じディレクトリ フォルダに対して正常に機能するためです。

私はすでに web.config ファイルに Access-Control-Allow-Origin を追加しようとしました

しかし、まだ responseText が空で onError の警告メッセージが表示されます...

手がかりはありますか?

0 投票する
2 に答える
939 参照

internet-explorer - IEクロスドメインajax呼び出しXDomainRequestエラー

Iframe のページからログアウトするには、次のコードを使用する必要があります

ただし、IE8 では、「送信前」、「XDR onerror」、「送信後」の順序で変更ボックスが表示されます。

サーバー側に次のコードがあります

$.getJSON と response.setHeader("Access-Control-Allow-Origin", "*") などを使用した後、ログアウトが Firefox で完全に機能することを確認できます。ただし、IEを使用するとログアウトしません。

するとネットでこんなコメントを見つけました。

そこで、XDomainRequest を追加しました。ただし、IE8 で警告ダイアログ「XDR onerror」が表示されました。IE でこのクロス ドメイン呼び出しを行うには、何を追加すればよいですか?

0 投票する
2 に答える
3633 参照

php - IE 8+XDomainRequest'投稿'が機能しない

IEでajaxリクエストをサポートするために、jQuery.XDomainRequest.js(https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest)を使用しています。

GETリクエストには最適ですが、POSTが機能せず、500が返されます(他のブラウザでも機能するため、XDR固有の問題です)。

私のajax呼び出しは次のようになります:

これはXDomainRequestとの最初の出会いであり、私は自分でいくつかの調査を行いましたが、なぜこれが失敗するのかわかりません。

よろしくお願いします!!!

編集:私はいくつかのデバッグを行いました。

私のテストURL="http:/myserver/test/index.php?key=123"(これはクロスドメインリクエストを作成します)

json_encode($ _ GET)を出力すると、次のようになります:{"key": "123"} json_encodee($ _ POST)を出力すると、次のようになります:[]。

明らかに私の投稿データは送信されていません。

これは私のデータを送信する行です:

postDataは次のようになります。

phpコードの私のヘッダーは次のようになります:

0 投票する
1 に答える
1832 参照

javascript - jqueryを使用したクロスドメインajax POST ie7

このスクリプトに問題がありましたが、ie8 で動作させることができました。

ie7 には XDomainRequest() オブジェクトがないことを理解しています。これをie7で複製するにはどうすればよいですか。

前もって感謝します