📜  纯 JavaScript 发送 POST NO JQUERY - Javascript (1)

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

纯 JavaScript 发送 POST NO JQUERY

在Web开发中,我们常常需要使用POST请求来向后台提交数据,而jQuery框架的$.ajax()方法十分方便,但如果我们不想使用jQuery,可能就需要使用纯JavaScript来发送POST请求。本篇文章将介绍如何使用纯JavaScript发送POST请求,实现与$.ajax()方法相同的功能。

发送POST请求示例代码
function sendPostRequest(url, data, successCallback, errorCallback) {
  var xhr = new XMLHttpRequest();
  xhr.open("POST", url, true);
  xhr.setRequestHeader("Content-type", "application/json;charset=UTF-8");
  xhr.onreadystatechange = function() {
    if (xhr.readyState == XMLHttpRequest.DONE) {
      if (xhr.status == 200) {
        successCallback(xhr.response);
      } else {
        errorCallback(xhr.status, xhr.statusText);
      }
    }
  };
  xhr.send(JSON.stringify(data));
}

上面的代码中,我们封装了一个函数sendPostRequest,接受四个参数:

  1. url:请求的地址
  2. data:请求的数据,可以是一个JSON对象,例如{name: '张三', age: 18}
  3. successCallback:请求成功后的回调函数,接收后台返回的数据作为参数。
  4. errorCallback:请求失败后的回调函数,接收两个参数:请求状态码和状态信息。

该函数使用XMLHttpRequest发送POST请求,设置Content-type为application/json;charset=UTF-8,将请求数据转为JSON字符串后发送。

调用示例代码
var data = {name: '张三', age: 18};
sendPostRequest('/api/user', data, function(response) {
  console.log(response);
}, function(status, statusText) {
  console.log('Error:', status, statusText);
});

如上面的代码中,我们可以直接使用sendPostRequest函数,传入相应的参数即可。

总结

以上就是纯JavaScript发送POST请求的示例代码,希望能够对你产生帮助。当然,上面的代码也可以根据实际情况进行修改,最终达到适合自己的效果。