浏览器跨域问题

1.跨域

  不在一个服务器下 就是 协议 域名 端口 三者有一个不一样就是跨域

2.同源策略

请求的地址和浏览器的地址必须在同域下,就是说协议端口域名都得一样。

3.http//172.164.130.56:80

http 是协议  172是 ip地址 80是端口

互联网的协议是http和https两种

解决跨域

  靠标签身上的src属性解决跨域问题,利用script标签的src属性去请求外部的数据看网络地址  关键单词  cb和callback,跨域不能万能的,不能随便一个就能,那也待允许你才能跨域。

1.127.0.0.1:8020 上的写法。

写一个回调函数

注意:位置不能写错,

服务器127.0.0.1:8088中 博客跨域练习.j中的写法

如果是我们自己写,如果在另一个服务器上写数据,想用跨域来做,那就需要把回调函数的名字套住这个数据,相当于调用fn把数据当作参数

关键字 cb和callback,如果是网络地址不是你的服务器,你也不知道怎么写

别的网络地址 一定提供 cb或callback,否则就用不了

3.dom形式的

这个就没有顺序问题,因为他们在同一个script下,同一个script下就是在同一个作用域下,同一个作用域下 function有变量提升 无论function在哪 fn都在第一个 。我不给你script和src属性,通过dom创建

还有两种写法

一,如果没有cb或callback,找到数据形式。找到数据里面是上面,我们可以通过url查看数据是什么,里面套了个函数,就可以这样写

 二,看地址 知道网络地址有cb或callback,我只需要jsonp函数对应的字符串就行了,如果知道数据就用jsonpcallback就行

原文地址:https://www.cnblogs.com/jinfeixiang/p/10522012.html