当一个网站 a站 需要调用另一个网站 b站 列表文章时

比如:www.a123.com 调用 www.b456.com 文章

在 a站 建立php文件获取 b站 资源文章到本地后,再传递a站前端

在网站 b456 下的文件为

<ul class="ls_wz">
<li><a href="#" target="_blank" title="title1" >内容1</a><span>[1970-01-01]</span></li>
<li><a href="#" target="_blank" title="title2" >内容2</a><span>[1970-01-01]</span></li>
<li><a href="#" target="_blank" title="title3" >内容3</a><span>[1970-01-01]</span></li>
</ul>

在网站 a123 根目录(随意)下建立

a .php 文件:

 <?php
//获取文中传递参数
//$data['title']=$_GET['title'];
// $data['link']=$_GET['link'];
// $data['pubDate']=$_GET['pubDate'];$data['callback']=$_GET['callback'];//尤为重要模拟跨callback//$data = array('title'=>title,'link'=>link,'pubData'=>pubData,'callback'=>callback);//$dataToJson = json_encode($data);//var_dump($data);$url="http://www.b456.com/b.php";//B站请求地址$postdata = http_build_query($data);$opts = array('http'=>array('method'=>"GET",'timeout'=>60,));$context = stream_context_create($opts);$result = file_get_contents($url."?".$postdata, false, $context);echo  $result;//var_dump($result);?>

a.html 文件:

<script type="text/javascript" src="js/jquery.min.js"></script>
<div id="zd" class="ls_wz" style="height:144px; overflow:hidden">
</div>        <script>$(function() {var url =  'http://www.a123.com/a.php';$.ajax({type: "get",url: url,async: false,//dataType:'jsonp',
                    success: function (data) {var html = data;//html += '<p class="more"><a target="_blank" href="#">更多+</a></p>';
                        $("#zd").html(html);//alert('#zd');
                    }})})</script>

CSS:

/*css*/
.ls_wz{ float: left;height:144px;overflow:hidden;}
.ls_wz li{ list-style:none; line-height:23px; padding: 0 8px; font-size:12px; width:320px; padding-left:12px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;}
.ls_wz li a {word-break: keep-all;white-space: nowrap;display: inline-block;width: 320px;overflow: hidden;text-decoration:none;text-overflow: ellipsis;}
.ls_wz li a:hover{color:#C30000; text-decoration:underline; }
.ls_wz li span{ display:none;}

还有一种情况就是,当遇到

http 和 https 通过认证验证的跨域请求调用:

header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin: *'); //指定访问网站请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段

当然了,不希望别人访问当前的文件:

//禁止访问当前文件
$fromurl="http://localhost/"; //跳转到这个地址。
if( $_SERVER['HTTP_REFERER'] == "" )
{
header("Location:".$fromurl); exit;
}

转载于:https://www.cnblogs.com/chervehong/p/10294367.html

php+ajax简单实现跨域(http+https)请求调用相关推荐

  1. 中止请求和超时 跨域的HTTP请求 认证方式 JSONP

    中止请求和超时 一个栗子在上传多少秒以后直接终止请求 // 发起HTTP GEt请求获取指定URl的内容 // 如果响应成功到达,将会传入responseText给回调函数 // 如果响应在timeo ...

  2. AJAX之封装+跨域

    AJAX5步法 先简单回顾下之前所说的5步法 1.创建异步对象XMLHttpRequest /* 1.创建 XMLHttpRequest一步对象*/var xhr;if (window.XMLHttp ...

  3. jsonp+ajax实现浏览器跨域通信

    2019独角兽企业重金招聘Python工程师标准>>> Ajax/XDomainRequest 网络跨域访问控制 jsonp是一种技术手段而不是一种协议,也不是json数据. < ...

  4. 原生JS实现Ajax和JSONP跨域请求

    背景: 对接身份证录入和门锁卡号录入设备中,安装驱动完成后,提供的接口服务是http://localhost:8099/?cmd=readbcardid&charset=gbk,返回的数据格式 ...

  5. JQuery - Ajax和Tomcat跨域请求问题解决方法!

    JQuery - Ajax和Tomcat跨域请求问题解决方法! 参考文章: (1)JQuery - Ajax和Tomcat跨域请求问题解决方法! (2)https://www.cnblogs.com/ ...

  6. 优雅的封装ajax,含跨域

    之前写过一篇 先定一个小目标,自己封装个ajax,是基于原生js的,也就是jquery中ajax的简化版本实现的思路.众所周知,jquery的ajax是项目中最常用的请求后台的方式,也算是封装的很完美 ...

  7. jsonp的原理·jsonp是不是ajax中实现跨域访问的技术

    ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据, 而是返回一段调用某个函数的js代码,在s ...

  8. Ajax的Post跨域请求

    Ajax的Post跨域请求 什么是跨域请求 同协议,同ip,同端口视为一个域,两个域之间互相访问就是跨域访问请求. 根据浏览器的同源策略,一个域中的脚本只具有访问本域资源的权限,无法访问其他域的资源. ...

  9. 跨域和options请求

    前后端分离的项目中,前端和后端单独部署,使用不同的域名,前端代码在浏览器端访问后端的时候就会有跨域问题. 之前帮前端调试活动页面的时候,chrome调试工具上总是看到一个请求会重复发两次,后端加了锁, ...

最新文章

  1. Maven 的Could not calculate build plan错误解决方法(不一定适用,看原因)
  2. java判断直到_3. JavaSE-位运算及判断循环程序结构的讲解
  3. 2793 [Poi2012]Vouchers
  4. 小程序动态设置style,使用内部数据
  5. the job was canceled什么意思_什么第三人称单数形式?怎么用?
  6. matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...
  7. 线条边框简笔画图片大全_超治愈萌系手帐素材大全 美食旅游花草人物花边都备齐了...
  8. python一般的类有三部分组成_Python学习笔记总结(三)类
  9. Openbox 3.3
  10. POJ--3278 Catch That Cow
  11. EDA实验:数字频率计(FREQ)设计(VHDL)
  12. 软件工程-第2章复习总结
  13. 使用批处理进行批量重命名
  14. php7关闭缓存、禁用缓存
  15. VMware下载,安装及创建虚拟机
  16. 数据库并发问题 封锁协议 隔离级别
  17. 新的一年,如何做好日计划、月计划与年计划?
  18. 以下哪些是微型计算机,2017版计算机试题及答案
  19. 关于运算放大器电流流向的问题
  20. 大豆SNP位点信息查找V2.1版本

热门文章

  1. 链表经典题:K个一组翻转链表
  2. golang中的strings.Split
  3. 汇编语言--可屏蔽中断
  4. 什么是schema?
  5. Jsp(Java Server Pages)简介
  6. mybaits十八:内置标签
  7. C五:exit()函数作用的程序
  8. oracle SYS and SYSTEM Schemas
  9. 互联网高并发架构设计模式
  10. sqlserver2000 中文排序问题