📜  ajax 中类型和方法的区别 - Javascript (1)

📅  最后修改于: 2023-12-03 15:13:17.593000             🧑  作者: Mango

Ajax 中类型和方法的区别 - Javascript

在前端开发中,Ajax 技术是非常重要的一部分,它可以实现无需刷新页面的异步数据请求和响应。在 Ajax 中,类型和方法是两个非常重要的概念,它们决定了 Ajax 请求的方式和效果。

类型

Ajax 中有两种类型:GET 和 POST。

GET

GET 是 Ajax 中最常用的类型之一。它将请求数据通过 URL 传输到服务器。我们可以通过把参数拼接在 URL 后面的方式来传递数据。

下面是一个 GET 请求的示例:

function getData() {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', '/getData?id=1', true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      console.log(xhr.responseText); // 返回的数据
    }
  };
  xhr.send();
}
POST

POST 是另一个常见的类型。它将请求数据放在请求主体中,而不是放在 URL 后面。

下面是一个 POST 请求的示例:

function postData() {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/postData', true);
  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      console.log(xhr.responseText); // 返回的数据
    }
  };
  xhr.send('id=1&name=test');
}
方法

Ajax 中还有一些方法,它们是用来处理 Ajax 请求的。下面是一些常见的方法:

open()

open() 方法用于初始化一个请求。它有三个参数:请求类型、URL 和是否异步处理。

setRequestHeader()

setRequestHeader() 方法用于设置请求头信息。我们可以通过它来设置 Content-Type、User-Agent、Authorization 和 Accept 等信息。

send()

send() 方法用于发送请求。如果是 GET 请求,我们不需要传递任何参数。如果是 POST 请求,我们需要通过 send() 方法来传递参数。

onreadystatechange()

onreadystatechange() 方法用于指定一个回调函数,在 Ajax 请求的状态发生变化时执行。我们可以在这个回调函数中对返回的数据进行处理。

结论

总的来说,Ajax 中的类型和方法是开发中必须掌握的内容。掌握了这些知识之后,我们才能更好地使用 Ajax 技术,完成页面数据的异步请求和响应。