Ajax

GET 还是 POST?

POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 不愿使用缓存文件(更新服务器上的文件或数据库)

  • 向服务器发送大量数据(POST 没有数据量限制)

  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

不刷新页面向服务器发送请求

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const xhr = new XMLHttpRequest();
//设置方法和url
xhr.open('GET','http://127.0.0.1:8030/server?a=100')
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){  //0初始化。1open方法,2send方法,3部分返回结果,4全部结果
	if(xhr.status == 200){
         // console.log(xhr.status)
         // console.log(xhr.statusText)
         // console.log(xhr.getAllResponseHeaders())
         // console.log(xhr.response)
         demo.innerHTML = xhr.response
    }
  }
}

创建对象

1
var xhr = new XMLHttpRequest();

向服务器发送请求

1
2
xhr.open("GET","localhost:8000");
xhr.send()

异步 - True 或 False?

AJAX 指的是异步 JavaScriptXML(Asynchronous JavaScript and XML)

XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true:

异步:通过 AJAX,JavaScript 无需等待服务器的响应,而是:w

  • 在等待服务器响应时执行其他脚本

  • 当响应就绪后对响应进行处理

onreadystatechange 事件

  1. 请求未初始化
  2. 服务器连接已建立
  3. 请求已接收
  4. 请求处理中
  5. 请求已完成,且响应已就绪

请求json数据

open()函数后面+

1
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
updatedupdated2023-12-062023-12-06