开发者学堂课程【Ajax 前端开发入门与实战:跨域的本质-引入外部 js 文件】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/595/detail/8542
跨域的本质-引入外部 js 文件
跨域的实现
XMLHttpRequest 对象默认情况下是无法获取到非同源服务器下的数据。那么怎么获取别人服务器的数据呢?
使用 XMLHttpRequest 是达不到的,我们只能另辟蹊径。
我们可以通过 script 标签,用 script 标签的 src. 属性引入一个外部文件,这个外部文件是不涉及到同源策略的影响的。
创建 weather.html
<! DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8"><title>Document</title>
<script type="text/javascript" src="./js/haha.js"></script>
</ head>
<body>
</ body></html>
创建 register.html
< ! DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8"><title>Document</title>
<scripttype="text/javascript"src="http://www.lisi.com/test.js"></script>
//直接使用 css 变量
</ head>
<body>
< / body></htm1>
创建 test.css
//定义一个变量
Var str=
”
haha
”
;
//定义一个方法
Function test(){
Console.log(str)
}
//方法调用
Foo(
“
123
”
)
二、跨域的本质
就是服务器返回了一个我们之前定义好的方法调用,方法的参数就是我们想要的
<script type=
“
text/ javascript
”
src></script>
1)jsonp 跨域只能是 get 请求,而不能是 post 请求;
2)jsonp 跨域的原理到底是什么;
3)除了 jsonp 跨域之外还有那些方法绕过“同源策略”,实现跨域访问;
4)jsonp 和 ajax,或者说 jsonp 和 XMLHttpRequest 是什么关系;