Files
ClassContent/历届学生/罗朝/2019-05-07/index.html
2024-09-27 02:06:13 +08:00

56 lines
1.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> ajax 跨域 </title>
</head>
<body>
<script>
// ajax 跨域
// 导致的原因:浏览器的 [ 同源策略 ] 规则
// 作用为了保护后端api接口
// 同源策略 规则:
// 会检查你的前端的访问地址和ajax将要访问的接口地址 是否一致?
// 前端http://127.0.0.1:5500/2019-05-05/ajax.html
// 后端http://127.0.0.1:9999/api/v1.0/index
// 怎么检查?
// 1: 协议是否完全相同 (http协议 默认端口80https协议 默认端口 443)
// 2: 域名是否完全相同
// 3: 端口是否完全相同
// 是否完全一致,只要有一个不一致,那么就会导致跨域,浏览器报错信息如下:
// Access-Control-Allow-Origin
// 解决跨域
// 1: 后端允许跨域(CORS)
// 2: jsonp 跨域 披着羊皮骗过保安
// 原理
// 1: 浏览器只会去拦截ajax请求但是不会拦截资源文件请求(js,css,html,img,font,mp4)
// 实现
// 发请求:前端使用 script 文件请求绕过浏览器的安全检查,发送函数名给后端
// 接受数据:后端接受函数名,然后调用函数把数据传递给前端
// 3: 服务端代理
// A(自己的前端) ---> C(别人的后端) 跨域
// A(自己的前端) ---> B(自己的后端) 也存在跨域,但是可以设置 CORS
// B(自己的后端) ---> C(别人的后端) 完全访问
// C(别人的后端) --数据---> B(自己的后端) --数据---> A(自己的前端)
</script>
</body>
</html>