){
if
(
this
.
readyState
==
4
&&
this
.
status
==
200
){
myFunction
(
this
)
使用xhr发送带参数的get请求,只需要为xhr.open()里的url地址指定参数
?id=1
(也叫查询字符串)
xhr.open('GET', 'http://www.liulongbin.top:3006/api/getbooks?id=1')
查询字符串
// 不带参数的 URL 地址
http://www.liulongbin.top:3006/api/getbooks
// 带一个参数的 URL 地址
http://www.liulongbin.top:3006/api/getbooks?id=1
// 带两个参数的 URL 地址
http://www.liulongbin.top:3006/api/getbooks?id=1&bookname=西游记
get请求携带参数的本质
无论使用 .ajax(),还是使用.get(),又或者直接使用 xhr 对象发起 GET 请求,当需要携带参数的时候,本质上,都是直接将参数以查询字符串的形式,追加到 URL 地址的后面,发送到服务器的。
$.get('url', {name: 'zs', age: 20}, function() {})
$.get('url?name=zs&age=20', function() {})
$.ajax({ method: 'GET', url: 'url', data: {name: 'zs', age: 20}, success: function() {} })
$.ajax({ method: 'GET', url: 'url?name=zs&age=20', success: function() {} })
2. 使用xhr发送post请求
let xhr = new XMLHttpRequest();
xhr.open('POST', 'http://www.liulongbin.top:3006/api/addbook')
xhr.setRequestHeader('Conten-Type', 'application/x-www-form-urlencoded')
xhr.send('bookname=水浒传&author=施耐庵&publisher=天津图书出版社')
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText)
复制代码