相信好多朋友在使用jQuery进行Ajax请求接口的时候会出现 No ‘Access-Control-Allow-Origin’ header is present on the requested resource 然后请求失败,下面我们来简单的解决这个问题。

直接上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript" src="/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "get",
url: "http://你的域名/test.php",
dataType: "jsonp", //这里是重点,dataType 一定为 'jsonp'
jsonp: "jsoncallback", //这里也是重点,jsonp 后面是返回格式!
success: function (data) {
console.log(data);
},
error: function (error) {
console.error(error);
},
});
});
</script>

这时候去控制台看一下,请求成功了!!!!

如果请求的是自己的接口,比如PHP为例

只需要在PHP接口文件里加入一段代码即可

1
header("Access-Control-Allow-Origin:*");

END

请求别人的接口无跨域,则用JSONP请求,自己的接口直接加上 header(“Access-Control-Allow-Origin:“);* 然后用$.ajax或者$.get或者$.post直接请求即可。