如何解决跨域问题

什么是跨域问题:

例如我们在百度的网站下,则我们的域可以表示为[baidu.com],如果我们想要请求淘宝域下[taobao.com]的资源,那我们就是从一个域跨到另一个域,就会出现跨域的资源共享的问题CORS开发中常常会遇到这样的问题:接口在一个端口 ,前端的服务则在另一个端口上,从前端服务获取接口的时候就会出现跨域问题

如何解决

1官方解决方案 :设置请求头

 response.setHeader("Access-Control-Allow-Origin","*")

2jsonp
 

    <script>

        function handle(data){

            const res=document.getElementById("result");

            res.innerHTML=data.name;

    }

    </script>

    <script src="http://127.0.0.1:8000/jsonp-server"></script>

服务器中:

//jsonp 服务
app.all('/check-username',(request,response)=>{
    //response.send('console.log("hello jsonp server")');

    const data={
        exsit:1,
        msg:"用户名已经存在"
    };
    //转换成字符串
    let str=JSON.stringify(data);
    //返回结果 其实是一个函数调用 并利用参数 做数据处理   函数必须事先声明  这就是jsonp的原理 响应的是js代码 
    response.end(`handle(${str})`);
});

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值