day27
ajax基本流程
const xhr = new XMLHttpRequest();xhr.open(方法, 地址);xhr.send();xhr.onload = function() {if (xhr.readyState==4 && xhr.status==200){console.log(xhr.responseText)}}
get方式传输数据
当需要以get方式请求接口时,需要进行下面的设置:
xhr.open('get', 地址)
如果需要传递数据,那么数据将以字符串的形式拼接到地址后面。
http://127.0.0.1/reg?user=zhangsan
post形式传递数据
post形式传值,数据格式有三种:json、urlencode、formdata。
如果传递的数据是json格式:
const xhr = new XMLHttpRequest();xhr.open('post', 'http://127.0.0.1/reg');//想要传递json数据,必须进行下面的设置,而且下面的设置必须要写在open 和send之间xhr.setRequestHeader('content-type', 'application/json');// 设置完成后,请求头部的格式就会变成json格式xhr.send(obj_json); // 将要传递的数据传入到xhr.send()方法中xhr.onload = function() {if (xhr.readyState==4 && xhr.status==200){console.log(xhr.responseText)}}
如果传递的数据是urlencode格式:
// 想要传递urlencode格式,需要更改请求头xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');// 传递数据的格式是urlencode格式xhr.send('username=zhangsan&pass=abc123&c[0]=100&c[1]=200'); // 将要传递的数据传入到xhr.send()方法中其他部分和之前的写法一致
