jQuery-ajax跨域资源共享CORS及JSONP

75 阅读1分钟

一、产生跨域的原因

由浏览器的同源策略造成的、同域名,同端口,同协议(http 和 https)

二、跨域解决方法

跨域解决方案1.CORS跨域资源共享
服务端:header("Access-Control-Allow-Origin:*");
“*”表示所有的域都可以接受
跨域解决方案2jsonp
动态创建script标签,使用jQuery的jsonp请求
优点
兼容性强&不受同源策略的限制
缺点
只能用get方法,不能使用post方法

可以利用创建一个对象来给后端传输数据时候控制是否要添加额外的参数如
 let params = {
                pagenum:1,
                pagesize:10
            }
            if(val){
                params.query = val
            }else{
                delete params.query
            }
            $.ajax({
                url:"http://timemeetyou.com:8889/api/private/v1/goods",
                headers:{
                    Authorization:localStorage.token
                },
                data:params,
                success:function(){}
                })