Rumah  >  Artikel  >  hujung hadapan web  >  关于Ajax如何实现跨域访问的问题介绍

关于Ajax如何实现跨域访问的问题介绍

不言
不言asal
2018-07-13 15:52:531271semak imbas

这篇文章主要介绍了关于关于Ajax如何实现跨域访问的问题,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

jQuery+AJAX+PHP+MySQL开发搜索无跳转无刷新的功能

对于vue中config/index.js:配置的详解

Atas ialah kandungan terperinci 关于Ajax如何实现跨域访问的问题介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn