jquery解决跨域问题

在Ajax请求的url不是本地或者同一个服务器下面的URI,最后虽然请求显示为200,但是不会返回任何数据,
事实上简单来说请求同一个域名下的url或者说用不带http的绝对路径和相对路径请求是没有任何问题的,
如果请求外部资源,那么这就称为跨域请求。

由于安全性的问题,浏览器默认不支持跨域调用,jQuery1.2之后官方推荐的结局方案:是在客户端和服务端
同时加参数,这样双方都是信任的那么浏览器就不会阻止了。

$.ajax({
    type:"get",    //请求方式
    async:true,    //是否异步
    url:"http://www.domain.net/url",
    dataType:"jsonp",    //跨域json请求一定是jsonp
    jsonp: "callbackparam",    //跨域请求的参数名,默认是callback
        //jsonpCallback:"successCallback",    //自定义跨域参数值,回调函数名也是一样,默认为jQuery自动生成的字符串
    data:{"query":"civilnews"},    //请求参数

    beforeSend: function() {
        //请求前的处理
    },

    success: function(data) {
        //请求成功处理,和本地回调完全一样
    },

    complete: function() {
        //请求完成的处理
    },

    error: function() {
        //请求出错处理
    }
});

  

猜你喜欢

转载自www.cnblogs.com/zyt-bg/p/12504333.html