这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战
Json格式的数据与对象字面量的区别
json格式的数据,属性必须添加引号json格式的数据最后不需要添加;号- 不需要存储在变量中
ES5新增了JSON对象
json对象的parse方法json对象的stringify方法
完整的ajax请求包含5个步骤
- 创建
XMLHTTPRequest对象 - 使用
open方法创建http请求,并设置请求地址
// 经常使用前三个参数
xhr.open(get/post/put/delete, url, async:true(异步,默认)、false(同步))
- 设置请求头
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded")
- 设置发送的数据,用
send发送请求
xhr.send(data)
- 注册事件(给
ajax设置事件)获得响应并更新页面
// 指定xhr状态变化事件处理函数
xhr.onReadyStateChange = function ({
if (this.readyState === 4) {
//响应体下载完成,可以直接使用`responseText`
}
})
js中null与undefined的区别
- 相同点:用
if判断时,两者都会被转换成false - 不同点:
number转换的值不同,number(null)为0,number(undefined)为NaN Null表示:值被定义了,但是这是个空值undefined表示:变量声明但未赋值
跨域
- 一个域名的组成:
- 协议(http://)子域名(www).主域名(abc.com):端口号(8080)/ 请求资源地址(scripts/jquery.js)
- 当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算做“跨域”
websocket
websocket是一个持久化的协议,相对于HTTP非持久的协议来说。websocket API最伟大之处在于:服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。websocket并不限于以ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而websocket服务器和客户端可以彼此相互推送信息;XHR受到域的限制,而websocket允许跨域通信
GET、POST、PUT、DELETE
GET请求- 从数据库中获取信息,只是用来查询数据,不会修改。
- 使用
URL或cookie传参 - 提交的数据有长度限制,一般在
2000字符 - 安全性低,数据在地址栏上可见
POST请求- 向数据库发送数据,会改变数据的种类等资源,就像
insert操作 - 大小一般没有限制
POST安全性高,不会缓存
- 向数据库发送数据,会改变数据的种类等资源,就像
PUT请求- 像数据库的
update操作,用来修改数据内容,不会增加数据种类
- 像数据库的
Delete请求- 删除操作