post请求参数分析

主要包括post请求参数处理和参数传递问题。

  • post请求参数处理
//	1、请求参数拼接
var param = "uname="+uname + "&password=" + password;
xhr.open("post", "01test.html", true);
//	2、需要设置请求头 
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//	3、发送请求时需要传递请求参数,且不需要转码
xhr.send(param);//post请求参数,不需要转码
  • post请求参数传递
//	在执行请求发送时,必须传递参数为null
xhr.send(null);//get请求,这里需要传递参数null

完整示例:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>请求参数分析title>
    <script type="text/javascript">
      /**
       * 使用Ajax发送请求的步骤:
       */
              //1、创建XMLHttpRequest对象
      // var xhr = new XMLHttpRequest();// IE6不支持

      // 兼容性处理方法
      var xhr = null;
      if (window.XMLHttpRequest){
        xhr = new XMLHttpRequest();
      } else {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }

      //  另一种方法
      // try {
      //   xhr = new XMLHttpRequest();
      // } catch (e){
      //   xhr = new ActiveXObject("Microsoft.XMLHTTP");
      // }

      //  2、准备发送
      var param = "uname="+uname + "&password=" + password;
      // xhr.open(method, url, async);
      /**
       * method 请求方式
       * url 请求路径
       * async  是否异步
       */
      xhr.open("post", "01test.html", true);
      //    3、执行发送
      //    需要设置请求头
      xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      xhr.send(param);//post请求参数,不需要转码
      //    4、指定回调函数
      xhr.onreadystatechange = function (){
          if (xhr.readyState == 4){
              if (xhr.status == 200){
                  var data = xhr.responseText;
                  if (data == 1){
                      console.log("请求成功");
                  } else {
                      console.log("用户名或密码错误");
                  }
              }
          }
      };
    script>
head>
<body>

body>
html>

你可能感兴趣的:(#,ajax,javascript)