ajax 提交表单 原生js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;



以上是关于ajax 提交表单 原生js的主要内容,如果未能解决你的问题,请参考以下文章

AJAX表单提交以及数据接收

向后台提交数据:通过form表单提交数据需刷新网页 但通过Ajax提交数据不用刷新网页可通过原生态Ajax或jqueryAjax。Ajax代码部分

Ajax全套

js 提交的表单后如何在本页面接收返回值

ajax form表单提交 input file中的文件

Ajax 概述原生JS(GetPost)的实现及 Ajax函数封装