美文网首页
【面试题】前端跨域的常见方式

【面试题】前端跨域的常见方式

作者: spanman | 来源:发表于2020-05-07 01:43 被阅读0次

有9种或者更多

常见的有四种

1 jsonp ,原理为使用html特殊标签访问资源无跨域限制的特性(script,link,img...),进行跨域请求。

    具体实现步骤:

        1 前端写好全局函数如 aFun() {},

        2 后端返回此函数名(函数名可以是前端入参的?callback=xxxFun)包裹的data数据函数调用

        3 script调用后即直接运行全局函数aFun的后续数据处理

jsonp的缺点很明显只能get请求,于是出现了其他的请求。

2  cors 方式请求,前端不处理,后端处理就行, cors-allow 允许跨域配置。*或者具体域名,具体域名只能写一个,*任何域名时候不能带cookies

express代码

var express=require('express');

var url=require('url');

var app=express();

var allowCrossDomain = function(req, res, next) {

    res.header('Access-Control-Allow-Origin', 'http://localhost:63342');

    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');

    res.header('Access-Control-Allow-Headers', 'Content-Type');

    res.header('Access-Control-Allow-Credentials','true');

    next();

};

app.use(allowCrossDomain);

app.get('/checkEmail',function (req,res,next) {

    var queryValue=url.parse(req.url).query;

    if(queryValue==='fortunewheel@sina.com'){

        res.send(true);

    }else {

        res.send(false);

    }

});

app.listen(3001);

3 nginx 反向代理

4 webpack proxy 配置     原理是在前后两端加个nodejs中间代理服务

    虽然不需要后端配合很方便 但是 只能解决开发环境

我的配置

默认情况下没有此文件的话进行创建即可,在打包的时候webpack会自动检测并根据其指导进行打包

vue开发环境和生产环境里面解决跨域的几种方法

https://www.cnblogs.com/pass245939319/p/9040802.html

官方文档

https://webpack.docschina.org/configuration/dev-server/#devserver-proxy

其他优秀文章

https://segmentfault.com/a/1190000016314976

相关文章

  • Javascript跨域整理

    在前端的JS请求中,跨域的问题经常存在,根据不同的实现原理,常见的跨域的方法如下: 一:前端的方式 1:在前端页面...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • #hello,JS:15 同源策略 & 跨域(JSONP)

    跨域有几种常见的方式?你有没有跨域使用的经验? 方式: 使用jsonp实现跨域?使用cors实现跨域?浏览器另类的...

  • 【面试题】前端跨域的常见方式

    有9种或者更多 常见的有四种 1 jsonp ,原理为使用html特殊标签访问资源无跨域限制的特性(script,...

  • 跨域

    博客 说说跨域那些事儿 不要再问我跨域的问题了 前端常见跨域解决方案(全) 同源策略 JSONP(填充式JSON)...

  • JSONP跨域

    JSONP原理及应用 之前的文章中简单介绍过前端可以实现的跨域方式,这次介绍一种更为常用的跨域方式,但这种跨域方式...

  • 前端常见跨域解决方案(全)

    前端常见跨域解决方案(全) 什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的...

  • ajax1

    作为一个前端工作者,跨域问题应该是很常见的,处理方式有很多,下边来说一说我用到过的处理方式。1.什么是跨域只要协议...

  • js常见跨域解决方案

    参考:前端常见跨域解决方案(全) 跨域,什么是“域”? 这里就要先说说同源策略了。所谓同源是指"协议+域名+端口"...

  • 前端不同的跨域方案总结

    做个收录,方便以后复盘。本文转自:前端常见跨域解决方案(全)。 什么是跨域? 跨域是指一个域下的文档或脚本试图去请...

网友评论

      本文标题:【面试题】前端跨域的常见方式

      本文链接:https://www.haomeiwen.com/subject/gmwgghtx.html