JavaScript函数定义和ajax初步

一、JavaScript中定义函数的三种方式
1、正常方法:如同Java中定义方法一样。
function 函数名(参数1,参数2){
//函数体
}
要想使用,必须通过名称去调用。
2、使用函数构造方法
var 函数名=new Function("参数1","参数2","函数体");

要想使用,必须通过名称去调用。

3、函数直接量的形式(最为常用的)
var 函数名 = function(参数1,参数2){
//语句1;语句2;
语句1
语句2;
}
二、JavaScript中的逻辑判断
在逻辑运算中,0、""、false、null、undefined、NaN均表示false
三、JavaScript中的数组是可变长度的

四、AJAX原理

4.1编写步骤
1、测试与服务器的通信
a、创建XmlHttpRequest对象,固定写法:
function createXmlHttpRequest(){
  var xmlHttp;
  try{    //Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
}catch (e){
  try{    //Internet Explorer
 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
 try{
 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }catch (e){}  
  }
}
  return xmlHttp;
}
 
var xhr = createXmlHttpRequest();
b、注册状态变化的事件处理:
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
//真正的处理
if(xhr.status==200||xhr.status==304){
//服务器正确返回
var data = xhr.responseText;//服务器返回的数据
//把返回的数据写到div中
document.getElementById("d1").innerHTML=data;
}
}
}
c、初始化xhr对象
xhr.open("GET","/ajaxday02/servlet/ServletDemo1?time="+new Date().getTime());
d、向服务器发送数据
xhr.send(null);
4.3XmlHttpRequest详解(JavaScript对象)
常用属性:
readyState:代表着XmlHttpRequest对象的当前状态
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法) 
1 (初始化) 对象已建立,尚未调用send方法 
2 (发送数据) send方法已调用,但是当前的状态及http头未知 
3 (数据传送中) 已接收部分数据,因为响应及http头不全,
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 
只有为4,客户端操作相应的处理
-------------------------------------------------
status:代表服务器的HTTP相应码。200是成功。304服务器端内容没有改变。
-------------------------------------------------
responseText:服务器返回文本数据。

onreadystatechange:当XmlHttpRequest对象的readyState发生变化时,都会触发该事件。

常用方法:
open(method,url,isAsync):初始化XmlHttpRequest对象。
method:请求方式。一般使用get或者post
url:请求的服务器地址。可以使用相对路径或者绝对路径。
特别注意:如果该地址没有变化,浏览器一般不会再次发出请求的。解决办法,加上一个时间戳。
/ajaxday02/servlet/ServletDemo1?time="+new Date().getTime()
isAsync:是否是异步请求。默认是true。
send(requestData):向服务器发送请求数据。没有传递null。
数据时用在POST请求方式的。数据形式:username=admin&password=123

通过XmlHttpRequest向服务器发送POST请求:
//设置请求消息头,告知服务器,发送的正文数据的类型。
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//固定写法
//发送数据
xhr.send("username=admin&password=123");
4.4服务端返回的数据
HTML数据
responseText:他是XmlHttpRequest对象的一个属性。服务器返回的数据会封装到此属性中。

XML数据
responseXML:返回的是xml对象的DOM对象。

五、JSON数据

var persons={
   params1:[
      {name:"p1",address:"a1"},
      {name:"p2",address:"a2"}
   ],
   params2:[
           {name:"p3",address:"a3"},
           {name:"p4",address:"a4"}
        ]
};
alert(persons.params2[1].address);
打印结果为a4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值