在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过Ajax相互调用数据,这样问题就来了,如何通过Ajax实现跨域呢?

解决方案

1.Jsonp

Jsonp解决跨域相对简单,服务器无需任何配置。具体实现如下:


$.ajax({
type: 'get',
url: 'http://xxx.com',
data: {},
dataType: 'jsonp',
success: function (data) { },
error: function (data) {
mask.close();
toast('请求失败');
}
});

2.CORS

CORS解决方案需要前端和服务端共同配置才能实现

  • 前端

$.ajax({
url: 'http://xxx.com',
type: 'post',
xhrFields:{
withCredentials:true
},
data: {},
success: function(res){ },
error: function(){
alert('服务器发生错误!');
}
});
  • 服务端(在程序入口文件配置)
header('Access-Control-Allow-Origin: http://xxx.com');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');

原文地址:https://segmentfault.com/a/1190000015616545

最新文章

  1. hibernate理解
  2. lua c api
  3. JAVA基础知识之JDBC——ResultSet的滚动和更新(statement的额外参数)
  4. 05-雷海林-mysql备份原理与在TDSQL中的实践
  5. iOS 通过代码关闭应用程序
  6. 我是如何开发一个连锁企业的信息系统的,NO.1
  7. server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
  8. Asp.NET开启一个线程,不停的执行
  9. 支持多用户web终端实现及安全保障(nodejs)
  10. inline内联函数
  11. Java反射---对象池
  12. pycharm Python Console调试 & django 调试
  13. IDEA里五种目录类型简介(Mark Directory as)
  14. ionic3 细节注意
  15. HDU 1162 Eddy's picture (最小生成树 prim)
  16. how-to-view-source-of-chrome-extension
  17. 使用Docker容器的十大误区
  18. MB_DOCUMENT_BADI调试(Update Debug)
  19. 使用Maven插件快捷打包发布远程Docker镜像 dockerfile-maven-plugin
  20. 如何在浏览器中简单模拟微信浏览器(仅限于通过User Agent进行判断的页面)

热门文章

  1. bzoj3265: 志愿者招募加强版(线性规划+单纯形法)
  2. Access operations
  3. 原生JavaScript实战之搜索框筛选功能
  4. 《Windows核心编程系列》十四谈谈默认堆和自定义堆
  5. 《Windows核心编程系列》八谈谈用内核对象进行线程同步
  6. python网络爬虫之四简单爬取豆瓣图书项目
  7. [ZPG TEST 115] 字符串【归类思想】
  8. Linux环境下Apache反向代理金蝶中间件Apusic集群
  9. C#中实现C++中的友元类
  10. 456 132 Pattern 132模式