博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AJAX的前因后果
阅读量:6115 次
发布时间:2019-06-21

本文共 819 字,大约阅读时间需要 2 分钟。

几种不同的请求方式

  • 用 form 可以发请求,但是会刷新页面或新开页面
  • 用 a 可以发 get 请求,但是也会刷新页面或新开页面
  • 用 img 可以发 get 请求,但是只能以图片的形式展示
  • 用 link 可以发 get 请求,但是只能以 CSS、favicon 的形式展示
  • 用 script 可以发 get 请求,但是只能以脚本的形式运行

什么是 AJAX

  1. 使用 XMLHttpRequest 发请求
  2. 服务器返回 XML 格式的字符串
  3. JS 解析 XML,并更新局部页面

而现阶段基本采用 JSON 替代 XML


如何实现 AJAX

let request = new XMLHttpRequest()  request.open('get', '/xxx') // 配置request  request.send()  request.onreadystatechange = ()=>{ //监听readystate    if(request.readyState === 4){      if(request.status >= 200 && request.status < 300){        let string = request.responseText        // 把符合 JSON 语法的字符串        // 转换成 JS 对应的值        let object = window.JSON.parse(string)         // JSON.parse 是浏览器提供的        }    }   }复制代码

同源策略

  • 只有 协议+端口+域名 一模一样才允许发 AJAX 请求

CORS 跨域

突破同源策略就需要使用 CORS 跨域,在服务器端加入如下代码:

response.setHeader('Access-Control-Allow-Origin', '/xxx')

转载地址:http://xlvka.baihongyu.com/

你可能感兴趣的文章
java的特殊符号
查看>>
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
php小知识
查看>>
Hades:移动端静态分析框架
查看>>
java IO 读取大文件的几种方法
查看>>
Objective-C和Core Foundation 对象相互转换的内存管理总结
查看>>
ISO/OSI参考模型及TCP/IP参考模型
查看>>
生产环境模拟:使用Gor复制生产环境流量
查看>>
debian 6 搭建puppet服务器
查看>>
【致青春】文艺范的青春,屌丝的生活
查看>>
HDFS【2.5.1】系列3:解密命令行 ./bin/hdfs namenode -format
查看>>
Flume-1.6.0 源码分析1:ExecSource分析
查看>>
MySQL_CRUD基础语句
查看>>
zepto.js 自定义打包集成其他模块构建流程
查看>>
liunx wget
查看>>
redhat5.8+mfs(提供软件包文档)
查看>>
前辈工程师职业发展的忠告
查看>>