JavaWeb课程系列

2.4使用js发送ajax请求示例

1)发送get请求:

//获取xhr对象

var xhr = getXMLHttpRequest();

//设置请求信息

xhr.open("get","AjaxServlet?&t="+Math.random(),true);

//发送请求

xhr.send();

//监听请求状态

xhr.onreadystatechange = function(){

//当响应完成

    if(xhr.readyState == 4){

       //且状态码为200时

       if(xhr.status == 200){

           //接收响应信息(文本形式)

           var text = xhr.responseText;

           //弹出消息

         alert(text);

       }

    };

};

 

2)发送post请求

//获取xhr对象

var xhr = getXMLHttpRequest();

//设置请求信息

xhr.open("post","2.jsp",true);

//设置请求头

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//发送请求

xhr.send("hello=123456");

//监听请求状态

xhr.onreadystatechange = function(){

//当响应完成

if(xhr.readyState == 4){

    //且状态码为200时

    if(xhr.status == 200){

       //接收响应信息(文本形式)

       var text = xhr.responseText;

       //弹出消息

       alert(text);

    }

};

 

3.json数据

js对xml数据的操控性不是很好。例如,返回这段xml

<student><name>tomcat</name><age>20</age></student>

js的处理如下:

var ele = xhr.responseXml;

var nodeVal = ele.getElementsByTagName(“name”).firstChild.nodeValue;

这种处理方式很麻烦。而且xml虽然看起来很清晰,但是标签占据了基本1/3内容,比较浪费流量。

json就能解决上述问题。js也是原生支持json。操作很方便。

3.1什么是json

json(JavaScript Object Notation(javascript对象表示法)),是一种轻量级的数据交换格式。有着自己独立简单的语法。

json经常被用来传递数据,他的数据信息集中,占用空间少,解析方便。

json的本质就是js对象。js中我们创建对象可以直接进行属性赋值操作,stu.name=”xx”;