PHP におけるクロスドメイン実装のいくつかの形式
##1. JSONP (パディング付き JSON) 原則
HTML の script タグを使用して他のドメインの js を読み込み、script src を使用して他のドメインのデータを取得しますが、タグを通じて導入されているため、つまり、要求された JSON 形式のデータは js として実行および処理されますが、明らかに、この操作は機能しません。
したがって、返されたデータを事前にパッケージ化し、処理を実行するための関数にカプセル化する必要があります。関数名は、インターフェイスのパラメータ転送メソッドを通じてバックグラウンドに渡されます。バックグラウンドで解析した後、関数名。元の関数で使用されます。 この関数名をデータにラップしてフロントエンドに送信します。 (JSONP を実現するには、対応するインターフェイスのバックエンドの協力が必要です)
例:
<script>function showData(ret){ console.log(ret); }</script><script src="http://api.jirengu.com/weather.php?callback=showData"></script>スクリプト src リクエストがバックエンドに到達したとき、バックエンド コールバック パラメーターを解析し、文字列 showData を取得し、データの送信後にデータを返し、showData (つまり showData({"json data"}) でカプセル化します。フロントエンド スクリプト タグが読み込まれた後)データを取得すると、json データを showData のパラメータとして使用し、関数を呼び出して実行します。
2. CORS
CORS の正式名は、クロスオリジン リソース共有 (Cross-Origin Resource Sharing) です。 )、これは最新のブラウザをサポートする ajax クロスドメイン リソース リクエスト メソッドであり、IE は 10 以降をサポートします。
実装方法:
XMLHttpRequest を使用してリクエストを送信すると、ブラウザはリクエストが同一オリジン ポリシーに準拠していないことを検出します。 Aリクエストヘッダ:
Originを追加し、一連の処理がバックグラウンドで行われ、リクエストが受け付けられたと判断された場合、戻り結果にレスポンスヘッダ:
Access-が追加されます。 Control-Allow-Origin; ブラウザは、対応するヘッダーに Origin の値が含まれているかどうかを判断します。そうである場合、ブラウザは応答を処理し、応答データを取得できます。そうでない場合、ブラウザは直接拒否します。今回は応答データを取得できません。
server.js
var http = require('http') var fs = require('fs') var path = require('path') var url = require('url')http.createServer(function(req, res){ var pathObj = url.parse(req.url, true) switch (pathObj.pathname) { case '/getNews': var news = [ "第11日前瞻:中国冲击4金 博尔特再战200米羽球", "正直播柴飚/洪炜出战 男双力争会师决赛", "女排将死磕巴西!郎平安排男陪练模仿对方核心" ] res.setHeader('Access-Control-Allow-Origin','http://localhost:8080') //res.setHeader('Access-Control-Allow-Origin','*') res.end(JSON.stringify(news)) break; default: fs.readFile(path.join(__dirname, pathObj.pathname), function(e, data){ if(e){ res.writeHead(404, 'not found') res.end('<h1 id="nbsp-Not-nbsp-Found">404 Not Found</h1>') }else{ res.end(data) } }) }}).listen(8080)
index.html
<!DOCTYPE html><html><body> <div class="container"> <ul class="news"></ul> <button class="show">show news</button> </div><script> $('.show').addEventListener('click', function(){ var xhr = new XMLHttpRequest() xhr.open('GET', 'http://127.0.0.1:8080/getNews', true) xhr.send() xhr.onload = function(){ appendHtml(JSON.parse(xhr.responseText)) } }) function appendHtml(news){ var html = '' for( var i=0; i<news.length; i++){ html += '<li>' + news[i] + '</li>' } $('.news').innerHTML = html } function $(selector){ return document.querySelector(selector) } </script> </html>
3 , postMessage
2 つのドメイン名があり (メイン ドメインのドメイン名が一致していない)、iframe ページが呼び出しへのアクセスを許可されていると仮定すると、次のようになります。 postMessageで実装されています。原則: a ドメイン名は postMessage のリクエストを送信し、b ドメイン名はメッセージ イベントを受信し、データを処理して返します
//b域名<script>window.frames[0].postMessage(this.value, '*'); //*号表示在任何域下都可以接收message window.addEventListener('message', function(e){ console.log(e.data); });</script>上記の内容はあくまで参考です! 推奨チュートリアル:
以上がクロスドメイン PHP のいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
