欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ajax实现跨域访问最新解决方案

程序员文章站 2022-05-14 22:27:58
在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过ajax相互调用数据,这样问题就来了,如何通过ajax实现跨域呢? 解决方案 1.jsonp jsonp解决...

在实际项目当中,我们经常会遇到同一个域名下不同项目之间通过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');

总结

以上所述是小编给大家介绍的ajax实现跨域访问最新解决方案,希望对大家有所帮助