>백엔드 개발 >PHP 튜토리얼 >PHP Ajax 도메인 간 문제에 대한 최상의 솔루션

PHP Ajax 도메인 간 문제에 대한 최상의 솔루션

WBOY
WBOY원래의
2016-07-28 08:29:38905검색

이 글은 Access-Control-Allow-Origin을 설정하여 크로스 도메인을 구현합니다.

예: 클라이언트의 도메인 이름은 client.runoob.com이고 요청된 도메인 이름은 server.runoob.com입니다.

ajax를 직접 사용하여 접속하면 다음과 같은 오류가 발생합니다.

<span>XMLHttpRequest</span><span> cannot load http</span><span>:</span><span>//server.runoob.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.runoob.com' is therefore not allowed access.</span>
<p>1、允许单个域名访问</p><p>指定某域名(http://client.runoob.com)跨域访问,则只需在http://server.runoob.com/server.php文件头部添加如下代码:</p><pre class="brush:php;toolbar:false"><span>header</span><span>(</span><span>'Access-Control-Allow-Origin:http://client.runoob.com'</span><span>);</span>

2. 여러 도메인 이름의 접근 허용

여러 도메인 지정 도메인 간 액세스를 위해 이름(http:///client1.runoob.com, http://client2.runoob.com 등)을 사용하려면 http://서버 헤더에 다음 코드만 추가하면 됩니다. runoob.com/server.php 파일:

<span>$origin </span><span>=</span><span> isset</span><span>(</span><span>$_SERVER</span><span>[</span><span>'HTTP_ORIGIN'</span><span>])?</span><span> $_SERVER</span><span>[</span><span>'HTTP_ORIGIN'</span><span>]</span><span>:</span><span>''</span><span>;</span><span>$allow_origin </span><span>=</span><span> array</span><span>(</span><span>'http://client1.runoob.com'</span><span>,</span><span>'http://client2.runoob.com'</span><span>);</span><span>if</span><span>(</span><span>in_array</span><span>(</span><span>$origin</span><span>,</span><span> $allow_origin</span><span>)){</span><span>    header</span><span>(</span><span>'Access-Control-Allow-Origin:'</span><span>.</span><span>$origin</span><span>);</span><span>}</span>

3. 모든 도메인 이름에서 액세스 허용

모든 도메인 이름에서 액세스를 허용하려면 다음 코드를 헤더에 추가하세요. http://server.runoob.com/server.php 파일:

<span>header</span><span>(</span><span>'Access-Control-Allow-Origin:*'</span><span>);</span>

위 내용은 관련 측면을 포함하여 PHP Ajax 크로스 도메인 문제에 대한 최상의 솔루션을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.