이 글은 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.