-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils.js
46 lines (40 loc) · 1.34 KB
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const e = sel => document.querySelector(sel)
const es = sel => document.querySelectorAll(sel)
const log = console.log.bind(console)
const append = (selector, html) => {
selector.insertAdjacentHTML('beforeend', html);
}
const toggleClass = function(element, className) {
if (element.classList.contains(className)) {
element.classList.remove(className)
} else {
element.classList.add(className)
}
}
const addAllClass = function(selectors, className) {
for (var i = 0; i < selectors.length; i++) {
var element = selectors[i]
element.classList.add(className)
}
}
const ajax = function(method, path, data, responseCallback) {
let r = new XMLHttpRequest()
// 设置请求方法和请求地址
r.open(method, path, true)
// 设置发送的数据的格式为 application/json
// 这个不是必须的
r.setRequestHeader('Content-Type', 'application/json')
// 注册响应函数
r.onreadystatechange = function() {
if (r.readyState === 4) {
// r.response 存的就是服务器发过来的放在 HTTP BODY 中的数据
responseData = JSON.parse(r.response)
responseCallback(responseData)
}
}
// 把数据转换为 json 格式字符串
data = JSON.stringify(data)
// 发送请求
log('send',data)
r.send(data)
}