由于浏览器同源策略,a域名的js向b域名ajax请求会被禁止。JS实现跨越访问接口有2中办法。

1.后端接口设置允许跨越的header头。

//header('Access-Control-Allow-Origin:*');  //支持全域名访问,不安全,部署后需要固定限制为客户端网址
header('Access-Control-Allow-Origin:http://www.example-a.com'); //设置的是带协议的url,而不是一个域名。可以设置多个url,用逗号分隔
echo json_encode(['name'=>'lucy']);}

  

  

客户端正常ajax请求即可。

2.客户端通过jsonp请求,服务器不用设置跨越header。关于jsonp原理这里不再说,可以另外查找资料。下面给出个实现的具体方法。

客户端请求,以jquery实现为例子

<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type : "get",
async: false,
url : "http://www.example-a.com/api.php?id=1",
dataType: "jsonp",
jsonp:"callback", //请求php的参数名
//jsonpCallback: "jsonhandle",//要执行的回调函数,(jquery中,这个参数可以省略,jquery会随机生成一个名字)
success : function(data) {
console.log(data);
}
});
});
</script>

  

api.php

<?php
//完成业务逻辑 获得数据
echo $_GET['callback']. '('. json_encode($data). ')'; //$_GET['callback'],就是上面jquery中jsonp请求的 ‘jsonp’参数
?>

最新文章

  1. Vue基本应用
  2. 关于el jstl
  3. 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm
  4. WPF 大数据加载过程中的等待效果——圆圈转动
  5. 我的vim配置文件
  6. 《Java多线程核心技术》读书摘要
  7. ios - block数据的回调
  8. Spring Boot 4 MyBatis
  9. td内容自动换行 ,td超过宽度显示点点点&hellip; , td 使用 overflow:hidden 无效,英文 数字 不换行 撑破div容器
  10. OpenGL2-绘制三角形
  11. Arbitrage
  12. java IoC
  13. Jenkins小菜初次使用小记
  14. Leetcode_75_Sort Colors
  15. selenium中隐式等待和显示等待的区别
  16. unity Camera第一人称移动,3中方法实现
  17. 宽字符wchar_t和窄字符char——putwchar、wprintf
  18. H5音乐播放器源码地址
  19. react设置多个className
  20. 【校招面试 之 C/C++】第2题 函数模板、类模板、特化、偏特化

热门文章

  1. Flume自定义Source、Sink和Interceptor(简单功能实现)
  2. python的面向对象-实例(对象)的相关知识、实例化
  3. sublime代码对齐
  4. Swift学习笔记1
  5. JAVA-Servlet高级应用
  6. Sublime Text 2 绿色汉化版 x64
  7. js拾遗: 函数字面量
  8. jq无缝滚动效果插件(之前的那个升级改造加强版)
  9. Zookeeper笔记之命令行操作
  10. Mahalanobis距离(马氏距离)的“哲学”解释