ホームページ  >  記事  >  バックエンド開発  >  PHP はクロスドメインの問題を解決します

PHP はクロスドメインの問題を解決します

angryTom
angryTomオリジナル
2019-08-23 09:05:525260ブラウズ

PHP はクロスドメインの問題を解決します

フロントエンドでは、クロスドメインの問題を解決するとき、いつもとても嫌な気分になります。jsonp、ajax、CORS などはどうですか。抜け穴を利用しているようにいつも感じます。実際のところ、PHPファイルにクロスドメイン用のコードを追加するだけでフロントエンドを自由に書くことができ、Postやgetも気軽に使えます。

推奨チュートリアル: PHP ビデオ チュートリアル

PHP は、クロスドメインの問題をPHP ファイル リクエスト ヘッダーは 3 つあれば十分です。

header("Access-Control-Allow-Origin:*"); // 他のドメイン名によるアクセスを許可するように指定します

header ('Access -Control-Allow-Methods:POST'); // 応答タイプ

header('Access-Control-Allow-Headers:x-requested-with, content-type'); // レスポンスヘッダーの設定

<?php
// 制定允许其他域名访问
header("Access-Control-Allow-Origin:*");
// 响应类型
header(&#39;Access-Control-Allow-Methods:POST&#39;);
// 响应头设置
header(&#39;Access-Control-Allow-Headers:x-requested-with, content-type&#39;);
 
//$callback = isset($_REQUEST[&#39;callback&#39;]) ? trim($_REQUEST[&#39;callback&#39;]) : &#39;&#39;; //jsonp回调参数,必需
function getKey($key,$default=""){
    return trim(isset($_REQUEST[$key])?$_REQUEST[$key]:$default);
}
$id = getKey("id");
$conn = mysqli_connect("localhost","root","","test") or die("连接失败");
$conn->query("set names utf8");
$sql = "select * from data where ".$id." is not null";
$result = $conn->query($sql);
$arr = [];
while($row=$result->fetch_assoc()){
    array_push($arr,json_encode($row));
}
$json = json_encode($arr);  //json 数据
print_r($json);

以上がPHP はクロスドメインの問題を解決しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。