Blogger Information
Blog 17
fans 0
comment 0
visits 11994
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
post请求下的 js原生ajax 与 jquery ajax 2018-4-9
一片叶
Original
722 people have browsed it

js原生与jq下的ajax效果一样.如下:

2018-04-10_18-13-56.gif

js原生代码

<div>
    <fieldset >
      <legend>用户登录</legend>
      <p>邮件地址: <input type="email" name="" id="email" value=""></p>
      <p>用户密码: <input type="password" id="password" value=""></p>
      <button id="btn">登录</button>
      <span id="tips"></span>
    </fieldset>
  </div>
  <script>
    // 给按钮添加点击事件
    document.getElementById("btn").addEventListener('click',lond);
    // 回调函数lond
    function lond(){
      // 获取邮箱和密码并进行拼接
      var email = document.getElementById('email').value;
      var password = document.getElementById('password').value;
      var data = 'email='+email+'&password='+password;
      // 创建xhr对象
      var xml = new XMLHttpRequest();
      xml.open('post','api/user.php?m=login',true);
      xml.onload = function(){
        if(this.status == 200){
            console.log(this.responseText);
          if(this.responseText == 1){
            document.getElementById("tips").innerHTML = "正在跳转中";
            // 这里是ES6中的箭头函数,与setTimeout(function(){},)相同
            setTimeout(() => {
              location.href = './api/index.php';
            }, 2000);
          }else {
            document.getElementById("tips").innerHTML = "邮箱或密码错误";
            document.getElementById("email").focus();
            setTimeout(() => {
              document.getElementById("tips").innerHTML='';
            }, 2000);
          }
        }
      }
      xml.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//这里可有可无
      xml.send(data);
    }
  
  </script>

jq下ajax

<body>
    <fieldset>
        <legend>用户登录</legend>
        <p>
          <label for="email">邮箱:</label>
          <input type="email" name="email" id="email">
        </p>
        <p>
          <label for="password">密码:</label>
          <input type="password" name="password" id="password">
        </p>
        <p>
          <button id="btn">登录</button>
          <span id="tips" style="font-size:1.2em;font-weight: bolder;color:red"></span>
        </p>
        
        <script>
        $('#btn').click(function(){
         //创建post请求方式的xml对象 $.post(必须-将请求发送到那个url,可选-连同请求发送到服务器的数据,可选-当请求发送成功后的回调函数,可选-预期服务器响应的数据类型)
          $.post(
            'api/user.php?m=login',
            {
            "email": $('#email').val(),
            "password": $('#password').val()
            },
            function(data){
            if (data == '1') {
              $('#tips').text('登录成功,正在跳转中...')
              setTimeout(function(){
                location.href = 'api/index.php'
              },2000)
            } else {
              $('#tips').text('邮箱或密码错误,请重新输入...')
              $('#email').focus()
              setTimeout("$('#tips').empty()",2000)
              }
              }, 
              'json')
        })
        </script>
</body>

dllhost_2018-04-10_18-35-37.png

jq简化了原生js的写法.对应关系并没有改变

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!