首页前端开发JavaScriptjavascript跨域的原因是什么

javascript跨域的原因是什么

时间2024-01-31 08:09:03发布访客分类JavaScript浏览853
导读:收集整理的这篇文章主要介绍了javascript跨域的原因是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。JavaScript跨域的原因是:浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性,所以产生跨域。同源策略就是浏览器...
收集整理的这篇文章主要介绍了javascript跨域的原因是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。

JavaScript跨域的原因是:浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性,所以产生跨域。同源策略就是浏览器为了保证用户信息的安全,防止恶意的网站窃取数据,禁止不同域之间的JS进行交互。

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript跨域的原因是什么

跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性。

出于浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的。浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(PRotocol),主机(host)和端口号(port)。

简单来讲同源策略就是浏览器为了保证用户信息的安全,防止恶意的网站窃取数据,禁止不同域之间的JS进行交互。对于浏览器而言只要域名、协议、端口其中一个不同就会引发同源策略,从而限制他们之间如下的交互行为:

1.Cookie、LocalStorage和IndexDB无法读取;

2.DOM无法获得;

3.AJAX请求不能发送。

跨域的严格一点的定义是:只要协议,域名,端口有任何一个的不同,就被当作是跨域。

跨域的解决方案

JSONP:需要在请求方法里加上dataTyPE:“jsonp”, //数据格式设置为jsonp,jsonp:“callback”, //jquery生成验证参数的名称

1、dataType,该参数必须要设置成jsonp

2、jsonp,该参数的值需要与服务器端约定

nginx反向代理

webpack 配置反向代理:直接使用脚手架的devServer去配置反向代理 来解决开发过程中的跨域问题

跨域资源共享(CORS)

nodejs跨域:在本地用nodejs起一个服务器 通过那个服务器去调用后台的服务器返回数据后再返回给前端 服务器之间不存在跨域

WebSocket协议跨域

通过JSONP

自己理解:JSONP就是使用script标签的src属性来实现跨域,只能使用get请求,后台会返回给你一个方法,你通过这个方法获取你想要的数据

jsonp原理 前端定义好方法通过src属性传给后端 后端拿到方法后传入数据拼接方法后传给前端 前端当成方法来调用

JSONP主要是封装好的请求方式添加callback,这个callback是由前后端约定好的

相关推荐:javascript学习教程

以上就是javascript跨域的原因是什么的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 爆肝归纳JavaScript学习知识点下一篇:angular学习之浅析响应式表单猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: javascript跨域的原因是什么
本文地址: https://pptw.com/jishu/593701.html
c语言数组中以列优先对吗 angular学习之浅析响应式表单

游客 回复需填写必要信息