博主信息
博文 17
粉丝 0
评论 0
访问量 14655
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
post请求下的 js原生ajax 与 jquery ajax 2018-4-9
一片叶
原创
852人浏览过

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的写法.对应关系并没有改变

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学