前端与后台的之间的关系

1、在使用AJXA的时候

用get提交的时候[

xmlhttp.open("get","/index",true);

xmlhttp.send();

]

用post提交的时候[

xmlhttp.open("post","/index",true);

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xmlhttp.send();

]

2、在后台处理时:get需要用query接收数据        post需要用body接收数据。

3、中间键:

在把CSS样式写在外部样式的时候,需要使用:

app.use(express.static(path.join(__dirname, ‘public‘)));

所以,要在APP文件之前导入第三方模块path:

var path=require("path");

在前端传值到后台的时候,需要使用中间键来实现接收,并返回到后台处理文件

app.use(express.urlencoded());



前端js文件:(需要在登陆页面加载AJXA)

var input=document.getElementById("p1");

input.onclick=function(){

var name=document.getElementById("username").value;
               var pwd=document.getElementById("pwd").value;

var xmlHttp=getmyXmlHttpResquest();

xmlHttp.open("post","/dologin",true);      //采用post提交
             xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
             xmlHttp.send("uname="+name+"&pwd="+pwd);     //发送一个数组到后台

xmlHttp.onreadystatechange=function(){
                  if(xmlHttp.readyState==4 && xmlHttp.status==200){
                        var str =xmlHttp.responseText ;
                                 if(str=="1"){
                        window.location.href="./html/sucess.html";    // 如果str=="1",则页面进行跳转
                                }else{
                       document.getElementById("errInfo").innerHTML="用户名或则密码错误";      //如果str!="1",则提示用户输入用户名或者密码错误
                                 }
                           }
                }

}

后台js文件:

首先要导入数据库的路径

var dateUtil = require("./mysql.js");

function dologin(req,res){
             var name = req.body.uname;  //接收提交过来的用户名
            var pwd = req.body.upwd;      //接收提交过来的密码
             var con = dateUtil.getCon();    //连接数据库
           con.query("select * from userinfo where username=? and pwd=?",[name,pwd],function(e,row){
                if(e){
              console.log(e.stack);
                return ;
               }
            if(row.length){
                  res.send("1");   //如果有长度,则返回1
              }else{
               res.send("0");    //如果没有长度,则返回0
           }

})

}

exports.dologin =dologin;   //暴露接口或方法

AJXA文件:

function getMyXmlHttpResquest(){
             var xmlHttp=null;
           if(document.all){     //判断是不是IE
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
             }else{
xmlHttp = new XMLHttpRequest();
            }
return xmlHttp;
       }

数据库文件:

var mysql = require("mysql");

var config={
                host:"127.0.0.1", //ip地址
                user: "wang",     //数据库登录名

password:"123456",   //登陆密码

database:"test",        //数据库使用文件
                  port:3306         //端口号
}

function getConnection(){
            return mysql.createConnection(config);
}
              exports.getCon=getConnection;

(我觉得老师讲的很好,代码都是敲出来的,光看是看不懂,也理解不懂的,只有自己做的时候,才能发现很多问题。我们需要努力解决发现的问题,才能收获知识!)

时间: 2024-11-05 19:42:22

前端与后台的之间的关系的相关文章

Struts2 前端与后台之间传值问题

老是被前端与后台之间的传值给弄糊涂了,特此写一篇blog进行总结. 一. 前端向后台传值 (1)属性驱动 属性驱动是指在Action类里,包含表单里对应的字段(字段名称一样),同时设置对应的getter和setter. 表单代码:html 1: <form action="login" method="post"> 2: <label>username:</label> 3: <input type="text&q

通过AngularJS实现前端与后台的数据对接(一)

最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的方法,希望与大家分享. 在开始进行前端与后台的数据对接前,首先要做到以下几点: 1.先要了解页面哪里是需要后台提供数据的(即:哪里是需要接接口的) ps:很明显,表格里的数据就是要向后台发送请求,从数据库里获取页面需要显示的数据 2.要理解接口里的每一个字段的含义 ps:一般而言,前端工作者都可以根

ASP.NET-MVC中Entity和Model之间的关系

Entity 与 Model之间的关系图 ViewModel类是MVC中与浏览器交互的,Entity是后台与数据库交互的,这两者可以在MVC中的model类中转换 MVC基础框架 来自为知笔记(Wiz) 附件列表 ASP.Net MVC基础框架.png viewmodel.JPG

Message、Handler、Message Queue、Looper 之间的关系

单线程模型中Message.Handler.Message Queue.Looper之间的关系 1.Message Message即为消息,可以理解为线程间交流的信息.处理数据后台线程需要更新UI,你可以发送Message内含一些数据给UI线程. 2.Handler Handler 即为处理者,是Message的主要处理者,负责Message的发送,Message内容的执行处理. 后台线程就是通过传进来的Handler对象引用来sendMessage(Message).而使用Handler,需要

(转)C#/.NET主线程与子线程之间的关系

一般 一个应用程序就对应一个进程,一个进程可有一个或多个线程,而一般有一个主线程. 有的博客上说“至少一个主线程”,这一说法持有怀疑         主线程与子线程之间的关系         **默认情况,在新开启一个子线程的时候,他是前台线程,只有,将线程的IsBackground属性设为true;他才是后台线程         *当子线程是前台线程,则主线程结束并不影响其他线程的执行,只有所有前台线程都结束,程序结束         *当子线程是后台线程,则主线程的结束,会导致子线程的强迫结

单例模式与多线程之间的关系总结

近日笔者被多线程与单例对象之间的关系产生了混淆.通过了一段时间的查阅,理清了两者之间的管理,现做笔记梳理.如有不足,欢迎指出:) 在我在考虑考虑他们的时候思考了以下几个问题: 1.我们通常都将dao层(数据库连接层)设置成单例,这样的话如果每次处理数据库中的数据都需要同一个对象去处理的话,处理数据的性能完全得不到保证. 2.ssh中为什么struts2中的action层必须创建多例?而ssm中springmvc的Controller层不需要创建多例? 3.一个单例模式创建的对象是可以同时被多个线

个人网站架构设计(三) - 从设计到前端到后台

在五月份,写过两篇博客,提到了要给自己做个网站,当时人在实习,没太多的时间,只是把大概的思路捋了一番,顺道也买了个云主机(配置比较低,内存才500M).接着返校处理毕业事宜,于是六月也随着同学之间挥泪告别的声音渐渐远去.七月,家里呆着,中旬回公司.想必这也是我近几年最长的一次假期了=. = 一.先说设计 1. 阮一峰的博客 目前我的博客设计是 fork 了 BeiYuu 的主题,然后七改八改,除了主页 BeiYuu 还认得出是他的之外,其他页面已经动了很大的手术,而这些手术灵感都是源自阮一峰阮大

时钟频率和数据频率之间的关系搞清楚

1.内存和CPU的有关数据    在正式讨论问题之前,我们首先要把内存的核心频率.时钟频率和数据频率之间的关系搞清楚,而且应该特别熟悉.这是讨论这个问题的基础.见下表:表1内存名称及各种频率列表        由表1可见,核心频率.时钟频率和数据频率之间有固定的关系.它们之间的比例关系见表2.表2.内存的核心频率.时钟频率和数据频率之间的比例关系        其中的核心频率又称颗粒频率或基本频率:时钟频率又称工作频率.内存频率.I/O频率.DRAM.DRAMFrequency.时脉或内存速度:

探索未知种族之osg类生物---状态树与渲染树以及节点树之间的关系

节点树 首先我们来看一个场景构建的实例,并通过它来了解一下“状态节点”StateGraph 和“渲染叶”RenderLeaf 所构成的状态树,“渲染台”RenderStage 和“渲染元”RenderBin 所构成的渲染树,进一步了解这两棵树之间错综复杂的关系,以及理解它们与场景节点树之间更加复杂的关系. 上面是一个虚构的场景结构图,其中叶节点_geode3,以及所有六个几何对象均设置了关联的渲染状 态集(StateSet),且几何体 1 和几何体 2 共享了同一个 StateSet(ss11(