• ajax 提交表单 原生js


    ajax在表单中常用,一般都是使用post方法,ajax请求:前台提交数据→后台查询数据→返回给前台

    下面以post方法为例上代码:

    <form action="login" method="post">
            用户名:<input type="text" onblur="checkUser()">
            <span></span>
            密码:<input type="password">
            <button>登录</button>
    </form>

    javascript:

    <script>
            function checkUser(){
                var userName=document.getElementsByTagName("input")[0].value;
                var mark=document.getElementsByTagName("span")[0];
                var xhr="";
                if(window.XMLHttpRequest){
                    xhr=new XMLHttpRequest();
                }else if(window.ActiveXObject){
                    xhr=new ActiveXObject();
                }//处理浏览器兼容
                xhr.open("post","login",true);//请求的方式、地址、异步
                xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");//post请求设置请求头
                xhr.send("userName="+userName);
                xhr.onreadystatechange=function(){
                    //接收后台传回的数据  更新页面
                    if(xhr.readyState==200 && xhr.status==4){
                        if(response==0){
                            mark.innerText="已注册请登录"
                        }else if(response==1){
                            mark.innerText="用户名不存在请注册"
                        }
                    }
                }
            }
    </script>

    服务器拦截并响应:

    app.post("login",function(req,res){  //拦截地址  设置回调函数
        let userName=req.body.userName;//获取到用户输入的用户名
        let sqlStr="select * from t_user where u_name=?"//查询数据库用户名
        database.dbconnect(sqlStr,[],function(err,data){
            if(data.length>0){   //判断用户名是否存在,做出相应响应
                res.send("0")//用户名存在返回0
            }else{
                res.send("1")//用户名不存在返回1
            }
        })
    })

    以上为今天所有分享,欢迎评论赐教;

    如需了解更多,请进入知了堂社区:http://www.zhiliaotang.com/portal.php;

  • 相关阅读:
    css sprite的实现
    python的range()函数使用方法
    Codeforces Round #260 (Div. 1) 455 A. Boredom (DP)
    n个整数全排列的递归实现(C++)
    AngularJS进阶(三十一)AngularJS项目开发技巧之获取模态对话框中的组件ID
    Swift扩展(Extension)
    leetcode 88 Merge Sorted Array
    Unity3D摄像机尾随人物
    mybatis 高级映射和spring整合之与Spring整合(6)
    mybatis 高级映射和spring整合之查询缓存(5)
  • 原文地址:https://www.cnblogs.com/hddhhanzi/p/7674926.html
Copyright © 2020-2023  润新知