技术教程
当前位置:首页 > 技术教程

jQuery Ajax 实现跨域请求JSONP

( 更新:11-17   加入收藏)
相信好多朋友在使用jQuery进行Ajax请求接口的时候会出现 No 'Access-Control-Allow-Origin' header is present on the requested resource 然后请求失败,下面我们来简单的解决这个问题。
直接上代码

<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接口文件里加入一段代码即可

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

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