加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【笔记】关于XMLHttpRequest中responseText()方法返回值问题的讨论

(2012-01-18 23:06:06)
标签:

杂谈

首先感谢下我们实验室“天外飞仙”同学对于本问题的帮助,虽然是个小问题,但是让我这个菜鸟纠结了一天:)

【摘要】responseText()XMLHttpRequest对象中的一个方法,用于将响应信息作为字符串返回,只读。对于响应中内容的读取重点,就在于这个返回的值的获取问题上。

【问题】本人最初的步骤,是在MyEclipse里先建立一个jsp文件,用于处理另一个jsp页面传来的信息,而另一个jsp页面中,利用一个javascript函数来处理返回的响应,再不刷新页面的情况下,完成数据处理。

两个jsp页面的源代码如下:

  number.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

   

    <title>My JSP 'number.jsp' starting page</title>

   

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">   

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <!--

    <link rel="stylesheet" type="text/css" href="styles.css">

    -->

   

    <script type = "text/javascript">

       var xmlHttp;

       function createXMLHttpRequest()

       {

           if(window.ActiveXObject)

        {

            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

        }else if(window.XMLHttpRequest){

               xmlHttp = new XMLHttpRequest();

        }

       }

       function validate()

       {

           createXMLHttpRequest();

           var date = document.getElementByIdx("number").value;

           var url = "ajax_test/number1.jsp?birthDate=1";

           xmlHttp.open("GET", url, true);

           xmlHttp.onreadystatechange = callback;

           xmlHttp.send(null);

       }

       function callback()

       {

           if(xmlHttp.readyState == 4)

           {

              var str = xmlHttp.responseText;

              alert(xmlHttp.status);

              str = trim(str);

              if(str == "1")

              {

                  setMessage();

              }

              if(str == "2")

              {

                  setMessage1();                 

              }

           }

       }

       function setMessage()

       {

           var messageArea = document.getElementByIdx("dataMessage");

           var fontColor = "red";

           messageArea.innerHTML = "<font color = " + fontColor + ">大家好</font>"

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有