<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>07_Ajax的简单封装</title>
</head>
<body>
<h1>07_Ajax的简单封装</h1>
<input type="button" value="测试get" onclick="test01()"/>
<input type="button" value="测试post" onclick="test02()"/>
<script>
function ajax(options){
var xhr=new XMLHttpRequest()
var params=''
//带参数 遍历参数
for(var atr in options.data){
//进行拼接
params=params+atr+'='+options.data[atr]+'&'
}
params=params.substr(0,params.length-1)
if (options.type=='get'){
options.url=options.url+"?"+params
}
xhr.open(options.type,options.url)
if (options.type=='post'){
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
xhr.send(params)
}else{
xhr.send()
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
console.log(xhr.responseText)
}
}
}
function test01(){
ajax({
type:'get',
url:'/login',
data:{'name':'吕小布','pwd':123}
})
}
function test02(){
ajax({
type:'post',
url:'/login',
data:{'name':'吕小布','pwd':123}
})
}
</script>
</body>
</html>
老师 这句代码是有什么作用
var params=''
这个拼接 options.data[atr] 这个为什么就是字典的值
params=params+atr+'='+options.data[atr]+'&'
如果是post请求 这个是固定的写法吗
if (options.type=='post'){
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
xhr.send(params)