关于ajax访问跨域问题

Posted 蒋华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ajax访问跨域问题相关的知识,希望对你有一定的参考价值。

记得以前在项目中使用ajax遇到跨域问题,

一开始不知道ajax不能进行跨域请求接口,一直没有打开F12查看,就是返回不到数据,还以为自己的方法写错了,后来打开F12才知道是ajax不能进行跨域!

现在知道了问题,所以要找到解决方法!

在网上百度了各种方法:

第一种是在你访问的php文件中添加如下:

这种允许所有的网址访问:

header(‘Access-Control-Allow-Origin:*‘);

这种是允许你指定的网址进行访问:
header(‘Access-Control-Allow-Origin:http://www.XXX.com‘);
《这种方法虽然没有在项目中使用,但是在测试的时候是可以的》
第二种是你使用jsonp访问你的接口方法:
$.ajax({
  dataType: "jsonp",//jsonp的形式访问
  jsonp: "callback",//回调方法
})
php文件中返回数据的时候例如:
echo
$_POST[‘callback‘]."(".json_encode($data).")"
;
这里使用你传过来的回调函数是防止你数据最后的分号被json解析,导致数据错误

第二中方法是我在项目中使用的,可以达到自己的接口跨域访问解析,

简单解析 希望可以记录自己成长的脚步。

















以上是关于关于ajax访问跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

关于ajax访问express服务器的跨域问题

AJAX访问SpringBoot2.0时跨域问题

JQuery+ajax+jsonp 跨域访问

关于跨域访问

关于跨域访问

jQuery:跨域 AJAX 调用导致“访问受限 URI 被拒绝”(代码 1012)