作者 MaBond
参考 JavaScript高级程序设计(第3版)
搬运下 GET&POST 两者的实际应用
1. GET的要点
- 请求参数以‘?’分割,以‘key1=value1&k2=value2’的形式带在URL后面;
- 请求时参数的key和value都必须使用 encodeURIComponent()进行编码;
以下是GET请求的实例:
1.确定请求参数
let reqData = {
name:'MaBond',
age:100,
job:'web',
}
2. 处理url
function getFilter(obj){
let url = '?'
for(let key in obj){
url += `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}&`
}
return url.slice(0,-1)
}
3. 发起请求
xhr.open('path'+getFilter(obj))
2. POST的要点
- 请求参数以以‘key1=value1&k2=value2’的形式带传递到xhr.send()中;
- 为了模拟表单形式的提交数据,需要设置Content-Type头部信息设置为 'application/x-www-form-urlencoded'
以下是POST请求的实例:
1.确定请求参数
let reqData = {
name:'MaBond',
age:100,
job:'web',
}
2. 处理请求参数
function postFilter(obj){
let str = ""
for (let key in obj) {
str += `${key}=${obj[key]}&`
}
str = str.slice(0, -1)
return str
}
3. 发起请求
xhr.send(postFilter(reqData))