php处理ajax跨域请求CORS方式
未知
2019-09-24 17:09:42
0
问题描述:
   正在做一个客户的网站,其中的页面都是我公司各个网站的几个页面结合。而其中一个网页需要弄到客户的网站上,但这个页面是筛选页面。如果直接扒过去,只能是一个静态页面,筛选功能是没有的。现在我需要使用ajax跨域调用数据,实现筛选的功能。
解决办法:

Ajax跨域请求:CORS

CORS,又称跨域资源共享,英文全称Cross-Origin Resource Sharing。假设我们想使用Ajax从a.com的页面上向b.com的页面上调用数据,通常情况由于同源策略,这种请求是不允许的,浏览器也会返回“源不匹配”的错误,所以就有了“跨域”这个说法。但是我们也有解决办法,我们可以再b.com的页面header信息中增加一行代码:

header("Access-Control-Allow-Origin: *");
当我们设置的header为以上信息时,任意一个请求过来之后服务端我们都可以进行处理和响应,那么在调试工具中可以看到其头信息设置,其中见红框中有一项信息是“*Access-Control-Allow-Origin:* ”,表示我们已经启用CORS,如果要限制只允许某个域名的请求,可以这样:
header("Access-Control-Allow-Origin: http://www.jinhuajaunke.cn");
在html页面中使用jquery的ajax.
<script>
$.ajax({
    type: "get",
    data: "random="+Math.random(),
    //data:{"classid":id,"name":username},传参的两种方式
    url: "http://www.jinhuajuanke.cn/phpajax/ajax.php",
    dataType: "json",
    success: function(data) {
        console.log(data);
        $("#result_3").html(data.msg+':'+data.rand);
            //var tableData = data.data; //表格数据
            //for (var i = 0; i < tableData.length; i++) {
                //var id=tableData[i].id;  
                //var nav_id=tableData[i].nav_id;
            
               // var tj=tableData[i].tj.replace('..','/static');
        
                //_html += '<tr>';
                //_html += '<td>' + xiaolei + '</td>';
                //_html += '<td>' + medianame + '</td>';
                //_html += '<td>' + content + '</td>';
                //_html += '</tr>';
               
            //}
           // $('#content').html(_html);
    },
    error: function() {
      $("#result_3").html('Request Error.');
    }
});
</script>

在另一个网站的目录中建立ajax.php

header("Access-Control-Allow-Origin: http://www.xxxxx.com");

$data = array(
    'rand' => $_GET['random'],
    'msg' => 'Success'
);
echo json_encode($data);

 

相关内容

jquery中使用ajax...
问题描述: 在自己的网站上使用ajax调用其他网站的数据。 解决办...
2019-09-25 16:31:01
php处理ajax跨域请求...
问题描述: 正在做一个客户的网站,其中的页面都是我公司各个网站的几...
2019-09-24 17:09:42

热门资讯

JavaScript获取当前协... JavaScript获取当前协议,域名,路径
解决Phpcms V9手机门户... 第一步:开启手机网站。位置:模块 》手机门户 》 添加手机站点,如果模块里面没有手机门户,那么就在模...
layui tooltip提示... 在layui表单中,我们想把一个标签做出提示,以标明这个表单元素是做什么有什么功能时,就可以用上提...
layui中出错Unexpec... layui中出错Unexpected identifier
如何在html中禁止复制文字 问题描述: 如何禁止别人复制自己的文章? 解决办法: 在body标签中添加以下代码: onconte...
JS实现html打印功能,打印... !DOCTYPE htmlhtmlhead meta charset=utf-8 title打印功能...
bootstrap 图片文字居... 问题描述: 让图片和文字居中显示。 解决办法: !-- style--.navbars img{ m...
bootstrap图片排版布局 问题描述: 在使用bootstrap的时候,出现了这样的问题。 排版对不齐。 解决办法: 通过上图发...
手机端底部定位 问题描述: 需要实现的效果 解决办法: !-- 底部 -- div class=layui-row ...