form表单-form-serialize插件 作用是简化获取表单数据

form表单-form-serialize插件  form-serialize`的作用是简化获取表单数据
使用步骤:
1. 导入`form-serialize`插件
2. 调用`serialize`传入`form`表单和选项,即可获取
1. 导入之后全局会增加`serialize`方法
3. 注意: 表单输入元素需要有值,才可以正常获取
serialize(form表单,{hash:true}) // 获取的数据在请求体中为对象格式
serialize(form表单,{hash:false})//获取的数据在请求体中为key=value格式
<body>
    <h2>ajax+form-插件</h2>
    <!-- 
      action 提交的接口地址
      method 提交的方法
     -->
    <form action="http://ajax-api.itheima.net/api/data" method="post">
      <!-- name 提交到服务器数据的 key -->
      <input
        class="username"
        name="username"
        type="text"
        placeholder="请输入用户名"
      />
      <br />
      <input
        class="food"
        name="food"
        type="text"
        placeholder="请输入喜欢的食物"
      />
      <br />
      <input
        class="sign"
        name="sign"
        type="textarea"
        placeholder="请输入个性签名"
      />
      <br />
      <input
        class="male"
        name="male"
        type="textarea"
        placeholder="请输入性别"
      />
      <br />
      <input
        class="male"
        name="hobby"
        type="textarea"
        placeholder="请输入爱好"
      />
      <br />
      <input class="male" name="age" type="textarea" placeholder="请输入年龄" />
      <br />
      <button type="submit">提交</button>
    </form>
    <script src="./lib/axios.js"></script>
    <!-- 1. 导入插件 -->
    <script src="./lib/form-serialize.js"></script>
    <script>
      // http://ajax-api.itheima.net/api/data
      // form表单-form-serialize插件
      // form-serialize`的作用是简化获取表单数据

      /* 
          使用步骤:
          1. 导入`form-serialize`插件
          2. 调用`serialize`传入`form`表单和选项,即可获取
          1. 导入之后全局会增加`serialize`方法
          3. **注意:** 表单输入元素需要有值,才可以正常获取
           serialize(form表单,{hash:true}) // 获取的数据在请求体中为对象格式
           serialize(form表单,{hash:false})//获取的数据在请求体中为key=value格式
       */
      document.querySelector("form").onsubmit = (e) => {
        e.preventDefault();
        const data = serialize(document.querySelector("form"), { hash: true });
        console.log(data);
        axios({
          method: "post",
          url: "http://ajax-api.itheima.net/api/data",
          data: data,
        }).then(function (res) {
          console.log(res);
        });
      };
    </script>
  </body>

 

 
posted @ 2022-12-01 13:51  噢噢噢J  阅读(1978)  评论(0编辑  收藏  举报