ajax

今天刚刚学习了ajax用普通按钮提交内容,局部刷新(如form表单一样),所以再此梳理下代码,也做下笔记以免搞忘。

一、AJAX开发步骤:

1、客户端事件发生,调用JavaScript函数编写的事件处理程序

2、在事件处理程序中创建XMLHttpRequest对象

3、配置XMLHttpRequest对象

4、XMLHttpRequest对象发送一个异步HTTP请求到服务器

5、服务器程序接收请求,处理请求,返回相应

6、XMLHttpRequest对象调用callback()函数并处理结果

7、更新

源代码:

html:

<input type="text" name="name" id="name"/>
<span id="mes"></span>
<input type="button" class="search" οnclick="queryUser"/> 
javascript:

//一、创建ajax对象
function queryUser(){
var http;
if(window.XMLHttpRequest){
   http = new XMLHttpRequest();//DOM
}else{
    http = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器
}
//二、配置ajax对象(提交对象、请求URL路径、同步或异步)
//获取对象
http.open("post","checkUser.do?name="+name,true);//true表异步,false 表同步
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//三、配置回调函数     请求得到响应后执行的方法
http.onreadystatechange = function(){
  if(http.readyState == 4&& http.status == 200){
        console.log("回调函数");
        //console.log(http.readyState)//对象状态<pre name="code" class="html">       //console.log(http.status)//状态码 200 成功<pre name="code" class="html">        //console.log(http.responseText)//服务器进程返回数据的文本
         //向文本添加内容,从数据库查询出来的
        var Text = document.getElementById("mes");<pre name="code" class="html">        var data = JSON.parse(http.responseText);//转换json数据
        for(var i=0;i<data.length;i++){
         //console.log(data[i].name);获取数据库表中name列
          Text.innerHTML = Text.innerHTML + data[i].name;//赋予对象内容
}<span style="font-family: Arial, Helvetica, sans-serif;">       </span>
 }
}
//四、发送
<pre name="code" class="html">var name = document.getElementById("name").value;//获取输入文本的值
http.send("name="+name);//post方法}


 
 

配置nodejs;引用了express模板

//一、加载express资源
var myexpress = require("./server/node_modules/express");
var user = require("./server/dao/userDao.js");//引入外部js
//二、生成服务器对象
var app = myexpress();
//三、设置端口号
app.set("port",8888);
//四、给服务器设置端口
app.listen(app.get("port") ,function(){
   console.log("端口启动成功,端口号为:"+app.get("port"));
})
//五、配置app
app.configure(function(){
   //日志模板
   app.use(myexpress.logger("dev"));
   //关于表单post方法配置
   app.use(myexpress.bodyParser());
   app.use(myexpress.methodOverride());//将其他非get方法转化为post方法
   app.use(app.router);
   app.use(myexpress.static(__dirname+"/client"));
   //错误日志
   app.usr(myexpress.errorHandler());
})<pre name="code" class="html">app.post("/queryUser.do",user.queryUser);

 
配置userDao,引用mysql模板 
var mysql = require("./../mode_modules/mysql");

exports.queryUser = function(req,resp){
  console.log("执行查询");
   var name = req.body.name;
   var sql = "select * from student where 1=1 ";
   var array = [];
   if(name == null||name == undefined || name ==""){
    name = null;
    array.push(name);
}else{
    sql = "and name like ?";
    array.push("%"+name+"%");
}<pre name="code" class="html">//1、创建连接
var conn = mysql.createConnection({
  host:"localhost",
  user:"root",
  password :"1314",
  port:"3306",
  database:"text"
});
//2、打开连接
conn.connect();
//3、数据库操作<pre name="code" class="html">var sql = "select * from student where name like ?";
 var arry = [];
 conn.query(sql,array,function(err,data){
    console.log(ere);
    console.log(data);
    //返回数据给前台
    resp.send(data);
    resp.end();
})
conn.end();
}

 
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值