跨域请求的三种方式
解决方法
- 前后端配合; jsonp;
- CORS – 跨域资源共享Php
- 服务器代理
跨域请求的方式即实现
- 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域
- 当发送方地址 和 接受放地址传输协议 域名 端口号 有任意一个不一样就是触发了 同源策略
- ajax核心目标是什么 : // 发起请求 , 接收响应;
解决方法
一. 前后端配合; jsonp;
-
原理 http 默认端口是 80; https 默认端口是443;
-
浏览器的哪些请求不受同源策略的影响。
i. 没有对图片进行限制;
ii. script 的src请求数据没有限制;
iii. link面的href也不受限制;
问. 可不可以让以上几个不受同源策略限制的标签代替 xhr 发起请求那?
答:绝对可以 让其不受同源策略影响的标签帮我发送http请求,这样的请求发起方式我们称之为jsonp
如何实现
- 创建一个script标签,script标签里面写好请求目标路径,让script标签发起请求;script标签特性 : src请求
具体实现
<button id="btn">发送请求</button>
<script>
// 向ajax使用靠拢;
// 现在版本的 jsonp 不能够按照你希望的顺序进行数据加载;
// 执行顺序;
function callback( res ){
console.log(res);
}
// 可不可以创建一个script标签 ? 可以;
document.getElementById("btn").onclick = function(){
var script_ele = document.createElement("script");
script_ele.src = "http://localhost/php/day25/06_data.php";
// console.log(script_ele);
// 如果想要让script标签可以发起请求那么我们必须要把标签放在页面之中;
document.body