JSONP

题目1: 什么是同源策略

浏览器出于安全性能的考虑,只允许与同源接口进行数据传递,不同源的客户端本在没有明确授权的情况下,不能读写对方的资源。

同源指的是:

  • 同协议:如http,https,file
  • 同域名:第一个 // 之间 /,就是网站的域名。
  • 同端口:http://jirengu.com:80/ 80就是端口号

题目2: 什么是跨域?跨域有几种实现形式

不同源的网站之前相互传递数据
跨域的实现形式:

  1. JSONP
  2. CORS
  3. 降域
  4. postMessage

题目3: JSONP 的原理是什么

JSONP的原理
利用

mock sever

router.get('/seachgrade',function(req,res){
    var grade={'小明':100,'小刚':98,'小红':97}
    var outseacher= req.query.callback;
    if(outseacher){
        res.send(outseacher+'('+JSON.stringify(grade)+')')
    }else{
        res.send(grade)
    }
})
JSONP_第3张图片
JSONP效果演示
  1. CORS
    代码:



    
    输入验证码
    


请输入验证码:

验证码

mock sever

app.get('/getCode',function(req,res){
    var a=[]
    var b=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']
    for(var i=0;i<4;i++){
        var c=Math.floor(Math.random()*15)
        a.push(b[c])
    }
    res.header('Access-Control-Allow-Origin','*')
    res.send(JSON.stringify(a))
})
JSONP_第4张图片
CORS

3 .降域
代码




    
    





    
    







JSONP_第5张图片
降域

你可能感兴趣的:(JSONP)