使用PHP和Javascript通过CORS在站点之间实现跨域通信

使用PHP和Javascript通过CORS在站点之间实现跨域通信,第1张

使用PHP和Javascript通过CORS在站点之间实现跨域通信

客户端的Java代码

<script type='text/javascript'>// function for making an object for making AJAX requestfunction 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

如果您在实施这些方法时遇到困难,请发表评论。您可以观看我在这里提到的现场演示



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5128670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存