ホームページ > バックエンド開発 > PHPチュートリアル > Ajax クロスドメイン ソリューション、Ajax Cross-domain_PHP チュートリアル

Ajax クロスドメイン ソリューション、Ajax Cross-domain_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:23:59
オリジナル
1227 人が閲覧しました

ajax クロスドメイン ソリューション、ajax クロスドメイン

最近、開発プロセス中に、ajax を使用して画像を非同期に取得しました。開発中はこの機能に問題はありませんが、再デプロイ後に問題が発生します。これは Ajax のクロスドメインの問題です。

ajax 自体はクロスドメインをサポートしていません。これは JavaScript の 同一生成元ポリシー によるものです。しかし、ajax のクロスドメインの問題は他の方法で解決できます。

1 jqueryを使ってajaxを書くので、当初はjsonpを使って解決する予定でしたが、クライアントは以下のような書き方になります

。 リーリー

サーバーサイドの書き込み方法

リーリー

この方法は実際には非常に簡単で、以前に書いたものからほとんど変更がありません。

2 このプロジェクトでは多くのページを開発しているため、変更にはより多くの場所が関係します。最後に、nginx の設定を直接変更することで実装されました。私が普段リバース プロキシについて理解しているのは、キャッシュ、セキュリティ、ロード バランシングであるため、以下のディレクション プロキシを確認してみました

リバース プロキシは、その名前が示すように、プロキシのリバース機能です。私たちは、直接アクセスできない一部のネットワークにアクセスしたり、本当の身元を隠したりするためにプロキシを使用します。リバース プロキシを使用すると、外部ユーザーは内部サーバーを公開することなく、ファイアウォールの内側で内部サービスにアクセスできます。

リバース プロキシを使用する主な利点は次のとおりです:

1 権限の設定、フィルタリングルールなどを含むリクエストの統合制御

2 内部サービスの実際のアドレスを非表示にし、リバース プロキシ サーバーのアドレスのみを公開します。

3 負荷分散を実現するために、複数のサーバーを内部で使用してサーバー クラスターを形成し、1 つのアドレスを外部アクセスに使用できます。

4 Ajax クロスドメイン問題を解決します。

5 リアルサーバーのバッファとして、瞬間的な負荷が大きい問題を解決します。

プロジェクトが完了した後、インターネットで ajax のクロスドメインの問題を調べたところ、

HTML でクロスドメイン リソースのタグ参照をリクエストすることでクロスドメインの目的が達成できることもわかりました。実際には、jsonp が基本的に採用されています。この方法。

HTML にはクロスドメイン リソースをリクエストできるタグがたくさんあります

スクリプトは間違いなく最適です。各スクリプト リソースをリクエストすると、ブラウザはスクリプト ファイルで定義された関数を解析して実行するか、すぐに実行する必要がある JavaScript コードをサーバー経由で返し、それを解析して実行します。これにより、ドメインリクエストの目的を超えて達成されます。スクリプト タグを使用してクロスドメイン リクエストを実装します。サーバー リソースのリクエストには get メソッドのみを使用できます。また、渡されるパラメータの長さもアドレス バーの長さによって制限されます。

AJAX クロスドメイン アクセス ソリューション

問題の説明からは、本当の問題が何であるのかわかりません。1. IIS 構成は匿名アクセスをサポートしていますか? 2. Ajax 対話中に URL に相対パスを使用しますか?それとも、あなたが操作しているのはあなた自身の Web サイトの URL ではないでしょうか? JS クロスドメイン アクセスに関して、他の Web サイトのリソースにアクセスする必要がある場合の解決策は次のとおりです。 1. iframe を介して他の Web サイトに接続します。 2. Ajax は、Web サービスへのアクセスなど、バックグラウンドを通じて他の Web サイトのリソースに間接的にアクセスします。他のウェブサイトの


Ajax クロスドメイン ソリューションの場合

参考1

主页面代码:



主面







getDocument2.html :


<script><br>window.onload = function (){<br>alert(3);<br>alert(parent.document.frames.length);<br>alert(parent.document.フレーム["getD"].window.document.getElementById('up'));<br>alert(parent.document.frames["getD"].window.document.getElementById('up').innerHTML);<br>}<br> function getdocument(){<br>alert(4);<br>alert(parent.document.frames["getD"].window.document.getElementById('up').innerHTML);<br>}<br></script>
< /head>

getDocument2


getElement2


>
 

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/831621.html技術記事 ajax 広域ドメインの解決方法、ajax 広域ドメインは最近、公開中に ajax を使用してグラフィックを取得します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート