js

详解js跨域

≡放荡痞女 提交于 2020-03-08 20:09:25
(P.s. 本文系转载, 点我 阅读原文。) 什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 对于端口和协议的不同,只能通过后台来解决。URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许

JS 跨域认识及如何解决

不想你离开。 提交于 2020-03-08 20:07:47
什么是跨域 指的是浏览器不允许javascrip脚本向其他域名发起ajax请求。 跨域的各种情况判定 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 解决办法: JSONP <script>

详解js跨域问题

◇◆丶佛笑我妖孽 提交于 2020-03-08 20:06:20
注:本文转载自---- https://segmentfault.com/a/1190000000718840 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 跨域资源共享(CORS) CORS(Cross-Origin Resource Sharing )跨域资源共享,定义了必须在访问跨域资源时,浏览器与服务器应该如何沟通。 CORS 背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。 <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("GET", "/trigkit4",true); xhr.send(); </script> 以上的 trigkit4 是相对路径,如果我们要使用 CORS ,相关 Ajax 代码可能如下所示: <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("GET", "http://segmentfault.com/u/trigkit4/",true); xhr.send(); </script> 代码与之前的区别就在于相对路径换成了其他域的绝对路径,也就是你要跨域访问的接口地址。

详解js跨域问题

三世轮回 提交于 2020-03-08 20:05:18
什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 对于端口和协议的不同,只能通过后台来解决。 跨域资源共享(CORS) CORS

详解js跨域

两盒软妹~` 提交于 2020-03-08 20:04:19
什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 对于端口和协议的不同,只能通过后台来解决。URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 跨域资源共享(CORS) CORS(Cross

js知识点总结

落花浮王杯 提交于 2020-03-08 18:40:10
js知识点总结 php操作数据库 建立和数据库的连接 $link = mysqli_connect ( 'localhost' , 'root' , 'root' , '数据库名字' ) ; 执行sql语句 $res = mysqli_query ( $link , '执行的sql语句' ) ; 解析结果 mysqli_fetch_assoc ( 要解析的内容 ) //解析一条内容 mysqli_fetch_all ( 要解析的结果 , MYSQL_ASSOC ) //解析多条数据 断开连接 mysqli_close ( $link ) cookie 是一个浏览器端的存储空间,存储格式是字符串的形式 特点 按照域名存储 存储大小有限制(4KB左右,50条左右) 时效性(默认是会话级别,也可以手动设置) 请求时自动携带 前后端可操作 cookie的操作 设置cookie document . cookie = 'a = 200' //不带过期时间 document . cookie = 'a = 200;expires=时间对象' 修改cookie document . cookie = 'a = 100' 删除cookie document . cookie = 'a = 100;expires=当前时间以前' 查询cookie document . cookie ajax请求

Java语言基础JavaScript

不羁岁月 提交于 2020-03-08 16:40:04
JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的是信息的动态交互) 2.安全性(不允许直接访问本地硬盘) 3.跨平台性(只要是可以解析Js的浏览器都可以执行,和平台无关) JavaScript与Java的不同 1.Js是Netscape(网景)公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品。 2.Js是基于对象,Java是面向对象。 3.Js只需解释就可以执行,Java需要先编译成字节码文件,再执行。 4.Js是弱类型,Java是强类型(每一种类型都有具体的划分)。 JavaScript与Html的结合方式 1.将JavaScript代码封装到<script>标签中; 2.将JavaScript代码封装到js文件中,并通过<script>标签中的src属性进行引用; <script type="text/javascript" src="demo.js"> </script> 注意:如果<script>标签中使用了src属性,那么该标签中封装的javascript代码不会被执行。所以导入js文件通常都是使用单独的<script>标签。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/

使用原生JS封装一个动画函数

守給你的承諾、 提交于 2020-03-08 16:37:52
最近一直在忙项目,很少有时间回顾之前的知识,今天刚好要做一个轮播,因为对兼容性有一定的要求,使用了各种插件和库中的轮播,效果都不是很理想,一怒之下,使用原生JS封装了一个轮播组件,其中重要的功能就是一个动画,看了一下以前封装的函数,千疮百孔,又进行了重新封装,先上代码,有详细的备注。 function animate(el, target, step, dtime) { /** * 参数说明: * - el 表示操作的元素对象 * - target 表示移动的目标距离 单位 px * - step 表示步长,即每次移动的距离 单位 px * - dtime 表示移动的间隔时间 单位 ms */ // 步长和间隔时间设置了默认值 step = step || 10; dtime = dtime || 30; // 判断是否开启定时器,如果有就清除 if (el.timeId) { clearInterval(el.timeId); el.timeId = null; }; // 开启一个定时器,并将定时器挂载道当前元素上 el.timeId = setInterval(function () { /** * 获取盒子移动前的水平方向的位置(当前位置) - 偏移的位置 * - 可以使用 el.offsetLeft 获取,但会将外边距也获取到,不精准,不采用 * -

JS基础(回调函数)

﹥>﹥吖頭↗ 提交于 2020-03-08 14:29:13
什么是回调函数? 一个回调函数,也被称为高阶函数,是一个被作为参数传递给另一个函数(在这里我们把另一个函数叫做“otherFunction”)的函数, 回调函数在otherFunction中被调用。 一个回调函数本质上是一种编程模式(为一个常见问题创建的解决方案),因此,使用回调函数也叫做回调模式。 一个函数作为参数传递给了click方法。click方法会调用(或者执行)我们传递给它的函数。这是Javascript中回调函数的典型用法, 它在jQuery中广泛被使用。 回调函数是怎样运作的? 因为函数在Javascript中是第一类对象,我们像对待对象一样对待函数,因此我们能像传递变量一样传递函数, 在函数中返回函数,在其他函数中使用函数。当我们将一个回调函数作为参数传递给另一个函数是,我们仅仅传递了函数定义。 我们并没有在参数中执行函数。我们并不传递像我们平时执行函数一样带有一对执行小括号()的函数。 需要注意的很重要的一点是回调函数并不会马上被执行。它会在包含它的函数内的某个特定时间点被“回调”(就像它的名字一样) 这个匿名函数稍后会在函数体内被调用。即使有名字,它依然在包含它的函数内通过arguments对象获取。 回调函数是闭包 都能够我们将一个毁掉函数作为变量传递给另一个函数时,这个毁掉函数在包含它的函数内的某一点执行,就好像这个回调函数是在包含它的函数中定义的一样

js深拷贝

こ雲淡風輕ζ 提交于 2020-03-08 13:51:22
function deepclone ( obj ) { if ( typeof obj !== "object" || typeof obj == null ) { return obj ; } let result ; if ( obj instanceof Array ) { result = [ ] ; } else { result = { } ; } for ( let key in obj ) { if ( obj . hasOwnProperty ( key ) ) { result [ key ] = deepclone ( obj [ key ] ) ; } } return result ; } let a = { age : 24 , address : { port : 24 } } let b = deepclone ( a ) ; b . age = "22" ; console . log ( a ) ; console . log ( b ) ; 来源: CSDN 作者: sillyyijia 链接: https://blog.csdn.net/sillyyijia/article/details/104728781