通过使用PHP和JavaScript CORS实现网站之间的跨域通信(Implementing cr

2019-06-27 01:47发布

后浏览网页和尝试一切可能的事情的时候,我就知道有我的主机服务器的问题。 它是由我的主机服务器禁用。 所以,我想张贴我#2的代码,使,没有人对SO失去的时间,像我一样。

代码段工作完全正常的IE浏览器,Safari浏览器,Mozilla和Chrome浏览器。

Answer 1:

JavaScript代码在客户端

<script type='text/javascript'>

// function for making an object for making AJAX request

function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}

var http899 = getXMLHTTPRequest();
function searchFabIndia() {

var myurl = "http://my2nddomain.com/yebhi.php";
myRand = parseInt(Math.random()*999999999999999);
var modurl = myurl+"?rand="+myRand;
http899.open("GET", modurl, true);
http899.onreadystatechange = useHttpResponse899;
http899.send(null);
}

function useHttpResponse899() {
if (http899.readyState == 4) {
if(http899.status == 200) {
 // do all processings with the obtained values / response here
}
}
}

</script>

<body onload='searchFabIndia();'>

在服务器端所需要的代码的一部分。 您需要设置原点(引荐)谁可以要求页面内容,让方法和标头。 这些设置可以存储在.htaccess文件一起二号域的所有文件到你正在请求,或者,你可以把它们放在特定的PHP文件如下所示: -

    <?php
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
        header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");
        header("Access-Control-Max-Age: 18000");
// Put it in your PHP file
    ?>

否则,您可以通过一起所示.htaccess文件提到了相同的指定整个域/子域这些设置: -

<IfModule mod_headers.c>
   <FilesMatch "\.(php)$">
    Header set Access-Control-Allow-Origin: *
    Header set Access-Control-Allow-Methods : POST,GET,OPTIONS,PUT,DELETE
</FilesMatch>
  </IfModule>

也不是通配符津贴所有引荐可以是有时没有必要,因此,在这种情况下,可以通过命名并指定特定的域/子域,它们中的每通过逗号(,)隔开如图

Header set Access-Control-Allow-Origin: http://abc.com,http://def.com,http://ghi.com 

请评论如果你面对任何实施这些有些难度。 你可以看到什么,我提到的现场演示在这里



文章来源: Implementing cross domain communication between sites through CORS using PHP and Javascript