ホームページ  >  記事  >  バックエンド開発  >  PHP はサーバー側を実装して、クライアント側の Ajax クロスドメインを可能にします

PHP はサーバー側を実装して、クライアント側の Ajax クロスドメインを可能にします

little bottle
little bottle転載
2019-04-20 16:26:062917ブラウズ

この記事では主に、PHP を使用してクライアント側の Ajax クロスドメインを可能にするサーバー側の実装について説明します。必要な友人は参照してください。

クロスドメインの問題を解決する鍵は、Access-Control-Allow-Origin を設定することです。
例: クライアントのドメイン名は api.itbsl.com で、要求されたドメイン名は www.itbsl.com です。
ajax を使用して直接アクセスすると、次のエラーが発生します。この記事は主に

# について話します
##XMLHttpRequest は http://www.itbsl.com/server.php を読み込めません。要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません。Origin 'http: //api.itbsl.com' はアクセスを許可されません。

1. 単一ドメイン名のアクセスを許可する

クロスにドメイン名 http://api.itbsl.com を指定する場合-ドメイン アクセスの場合は、http:// でのみアクセスする必要があります。 www.itbsl.com/server.php ファイルのヘッダーに次のコードを追加します:

header('Access-Control-Allow-Origin:http://api.itbsl.com');

2. 複数のドメイン名によるアクセスを許可します。

複数のドメイン名 http://api.itbsl.com、http://doc.itbsl.com およびその他のクロスドメイン アクセスを指定するには、http:// のヘッダーに次のコードを追加するだけです。 www.itbsl.com/server.php ファイル:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
  
$allow_origin = array(  
    'http://api.itbsl.com',  
    'http://doc.itbsl.com'  
);  
  
if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
}

3. すべてのドメイン名へのアクセスを許可する

すべてのドメイン名からのアクセスを許可するには、http:/ のヘッダーに次のコードを追加するだけです。 /www.itbsl.com/server.php ファイル:

header('Access-Control-Allow-Origin:*');

関連ビデオ:

ajax ビデオ チュートリアル

以上がPHP はサーバー側を実装して、クライアント側の Ajax クロスドメインを可能にしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。