学习内容来自慕课网 姜维 ajax全接触
Asynchronous Javascript and XML(异步Javascript和XML)
- 可返回Json和XML等多种类型的数据。
- 使用XMLHttpRequset对象。
- 可以刷新局部页面。
Http协议
http是一种无状态协议,如下7个步骤:
- 建立TCP连接
- 浏览器向服务器发送请求
- 浏览器发送请求头信息
- 服务器应答
- 服务器发送应答头信息
- 服务器向浏览器发送数据
- 服务器关闭TCP请求
Http状态码:
XMLHttpRequest
-
方法:
open(method,url,async);
setRequestHeader(“Content-Type:application/x-www-form-urlencoded”);
send(); // method=post时,send(data) -
属性:
readyState
值 | 含义 |
---|---|
0 | 请求未初始化,open未调用 |
1 | 连接建立,open已建立 |
2 | 请求已接收,接收到头信息了 |
3 | 请求处理中,接收到响应体了 |
4 | 请求完成 |
- 例子:
PHP
创建动态交互性站点的服务器端脚本语言
- 创建动态页面内容
- 创建,打开,读取,写入,删除,关闭服务器上的文件
- 接受表单数据
- 发送和取回cookies
- 添加删除修改数据库的数据
- 限制用户访问网站的某些界面
- ……
JSON
Javascript对象表示法(JavaScript Object Notation)
- 是存储和交换语言的语法,采用键值对的形式
- 任何语言都可以解析json
- 可使用javascript内建方法进行解析,转换为JavaScript对象很方便。
JSON语法规则:
- 书写格式:名称/值对。 例:“name”:“今年依旧12岁”
- 值的类型:数字;字符串(在双引号中);逻辑值(true,false);数组(方括号);对象(花括号);null
- 方法:
eval('('+jsondata+')'); //不管jsondata内容是否合法,都会执行,此方法存在安全风险
JSON.parser(jsondata); //会提示错误报警
JQ中的Ajax
- 一些静态资源库:
CDNJS.NET
Google静态资源库(国内可能不能用)
JavaScript不允许跨域调用的解决方法:
- 可以采用后台代理的方法
- 使用JSONP,使Get请求可跨域,可利用标签可跨域的性能