`

Ajax怎么传对象

    博客分类:
  • AJax
阅读更多

我想用ajax操作 只更新这个div   
这个div 主要就针对“thisTest” 这个对象。
其实就是更新thisTest这个对象。
但是 我看XMLHttprequest只有responseText和responseXML  
就是说 只能接收Text 和Xml 怎么接收对象呢?

<div id = "TestChangDIV">
<div id="TestNameDIV">
<b>
题目:${thisTest.testName }
</b>
</div>


<div id="TestAnswerDIV">
<c:forEach items="${thisTest.answers}" var="answer" varStatus="a">
${a.index+1 } :
 <input type="checkbox" id="${answer.id }"
  name="check${answer.rightOrNot }">
 <span id='span${answer.rightOrNot }'>${answer.answerValue} </span>
 </input>
 <p />
</c:forEach>
</div>
<div id="descriptionDIV">
<table border="1" style="font-size:13px;color:gray">
<tr>
<th>
本题难度
</th>
<th>
做过本题人数
</th>
<th>
做对本题人数
</th>
<th>
本题来源
</th>
<th>
出题老师
</th>
</tr>
<tr>
<td>
${thisTest.difficulty }
</td>
<td>
${thisTest.doneUc }
</td>
<td>
${thisTest.rightUc }
</td>
<td>
<a href="#">
${thisTest.testFrom }
</a>
</td>
<td>
<a href="#">
${thisTest.teacherName }
</a>
</td>
</tr>
</table>
</div>

<div id="answerDIV">
<div id="judgeDIV" style="color:red"></div>
用时:
<span id="timeDIV"></span>

<p />
本题正确答案将以红色字体显示!
<p />
试题详解:${thisTest.testDesc}
</div>
</div>
 
服务器端如果用 response.getWriter().print("nextTest");
这样发过去的就是text 那要怎么发对象呢?
 
<

解决方法


不难,很简单的。其实responseText和responseXML就是显示内容,你可以读取动态页面里的内容,然后再通过responseText输出,赋值给某个标签里的内容。
发个简单的例子给你参考一下:
/*
 *--------------------------------------------------------------------
 *创建一个XMLHttp实例
 *return object 成功创建返回一个xmlhttp对象实例,否则返回false
 *--------------------------------------------------------------------
 */
function CreateAjax()
{
  var xmlhttp;
  try
  {
  //Firefox, Opera 8.0+, Safari
  xmlhttp=new XMLHttpRequest();
  }
  catch(e)
  {
  try
  {
  //IE6.0+
  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");  
  }  
  catch(e)
  {
  try
  {
  //IE5.5+
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e)
  {
  return false;
  }
  }
  }
  return xmlhttp;
}

/*
 *--------------------------------------------------------------------
 *传输数据
 *--------------------------------------------------------------------
 */
/*
function handlestatechange(ListID)
{
  var VoteIDContent=document.getElementById("Vote"+ListID+'');
    
  if(xmlhttp.readyState==4) //客户端完成请求
  {
  if(xmlhttp.status==0 || xmlhttp.status==200) //服务端完成处理并返回数据
  {
  var ResponseText=unescape(xmlhttp.responseText)
  var r=ResponseText.split(",");
  if(r[0]=="Vote")
  {
  alert("每个IP地址每天限投一票,请不要重复投票!");
  VoteIDContent.innerHTML=r[1];
  }
  else
  {
  VoteIDContent.innerHTML=ResponseText;
  alert('您已投票成功!');
  }
  }
  else
  {
  alert("服务器返回异常!");
  top.location.href='index.asp';
  }
  }
  else
  {
  VoteIDContent.innerHTML='<img src="images/Loading.gif">';
  }
  return VoteIDContent.innerHTML;
}
*/

function Vote(ListID)
{
  if(!ListID)
  {
  alert("请不要提交非法数据!");
  return false;
  }
  var Send_Url='Vote.asp?ListID='+ListID+'&n='+Math.random()+'';//这里添加了一个参数n,表示为一个随机数,以避免浏览器缓存
  xmlhttp=CreateAjax();
  xmlhttp.open("get",Send_Url,true);
  
   
  xmlhttp.onreadystatechange=function()
  {
  var VoteIDContent=document.getElementById("Vote"+ListID+'');
    
  if(xmlhttp.readyState==4) //客户端完成请求
  {
  if(xmlhttp.status==0 || xmlhttp.status==200) //服务端完成处理并返回数据
  {
  var ResponseText=unescape(xmlhttp.responseText)
  var r=ResponseText.split(",");
  if(r[0]=="VoteOver")
  {
alert("每个IP地址每天限投一票,请不要重复投票!");
VoteIDContent.innerHTML=r[1];
  }
else if(r[0]=="TimeOver")
{
alert("投票结束!");
  VoteIDContent.innerHTML=r[1];  
}
  else
  {
VoteIDContent.innerHTML=ResponseText;
  alert('您已投票成功!');
  }
  }
  else
  {
  alert("服务器返回异常!");
  top.location.href='index.asp';
  }
  }
  else
  {
  VoteIDContent.innerHTML='<img src="images/Loading.gif">';
  }
  return VoteIDContent.innerHTML;
}
  xmlhttp.send(null);  
}

分享到:
评论

相关推荐

    ajax传递list对象数组

    ### AJAX传递List对象数组知识点详解 #### 一、前言 在Web开发中,前后端交互是必不可少的一个环节。AJAX作为一种实现异步加载数据的技术,可以有效地提升用户体验。本篇将详细介绍如何通过AJAX来传递一个List对象...

    jquery的ajax传json对象数组到struts2的action

    本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    ajax对象池

    Ajax对象池的概念是基于Ajax技术的一种优化手段,主要用于管理并复用Ajax请求对象,提高应用性能和效率。在大型Web应用程序中,频繁的Ajax请求可能导致大量对象的创建与销毁,增加系统的内存负担和资源消耗。通过...

    Ajax基本对象的属性和方法

    Ajax 基本对象的属性和方法 Ajax 基本对象是指在异步 JavaScript 和 XML(AJAX)技术中使用的基本对象,该对象提供了一些属性和方法来处理 XML 的 DOM 元素和遍历 XML 的 DOM 元素。下面是 Ajax 基本对象的属性和...

    Ajax核心对象XMLHTTPRequest

    Ajax核心对象XMLHTTPRequest详细参数及例子

    简单创建ajax对象

    简单使用创建ajax对象,几乎试用所有浏览器。

    ajax和spring互传json对象,并显示到列表中

    本主题主要探讨如何通过Ajax与Spring互相传递JSON(JavaScript Object Notation)对象,以及如何将接收到的数据在页面上以列表形式展示。JSON因其轻量级、易于读写的特点,成为了Web服务数据交换的首选格式。 首先...

    下载json,ajax传送对象的好帮手

    标题中的“下载json,ajax传送对象的好帮手”指的是利用JSON处理和传输AJAX请求中的数据对象。AJAX允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容,极大地提高了用户体验。而JSON因为其...

    jQuery的Ajax实现异步传输List、Map

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下与服务器进行数据交换,极大地提升...

    ajax返回json对象.zip

    "Ajax返回JSON对象"这个主题聚焦于Ajax如何处理JSON(JavaScript Object Notation)数据格式,这是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 1. **Ajax基础**: - **异步通信**:...

    ajax+json实例

    AJAX基于JavaScript,利用XMLHttpRequest对象作为后台与服务器端通信的桥梁。通过创建XMLHttpRequest对象,打开连接,发送请求,监听状态变化,解析响应数据,可以在用户无感知的情况下完成数据的获取和更新。AJAX的...

    jQuery AJAX XMLHttpRequest对象PPT

    XMLHttpRequest对象是JavaScript中用于异步数据交换的核心组件,它是AJAX(Asynchronous JavaScript and XML)技术的基础。AJAX允许网页在不刷新整个页面的情况下,仅更新部分区域,从而提高用户体验。尽管名称中...

    上传文件AJAX

    在上传之前,通常会提供文件预览功能,这可以通过HTML5的File API实现,如`FileReader`对象的`readAsDataURL()`方法读取文件内容并显示为Base64编码的图片。 同时,为了提供更好的用户体验,可以使用`...

    ajax 对象池,一个页面多个XMLHttpRequest对象

    ajax XMLHttpRequest。。。。。。

    ajax ajax原理 ajax代码 ajax编程 ajax学习

    Ajax的核心是JavaScript对象XMLHttpRequest,它允许在不刷新整个页面的前提下与服务器通信。** ### **Ajax 原理** Ajax的原理主要包含以下几个步骤: 1. **创建 XMLHttpRequest 对象**:这是Ajax的基础,现代浏览器...

    传志博客ajax代码

    1. **XMLHttpRequest对象**:Ajax的核心是XMLHttpRequest对象,它是JavaScript原生提供的一个接口,允许我们与服务器进行异步通信。创建一个XMLHttpRequest对象,然后调用其open()方法指定HTTP请求类型(GET、POST等...

    Ajax简介Ajax.API

    Ajax 的核心是 JavaScript 对象 XmlHttpRequest。Ajax 采用异步交互过程,在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。 Ajax 引擎用 JavaScript 语言编写,通常藏...

    e语言-Ajax XmlHttp对象参考手册

     现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。 资源界面:资源下载:

    ajax传数据的例子

    标题中的"ajax传数据的例子"是指利用Ajax技术向服务器发送数据并接收响应的过程。Ajax的核心是XMLHttpRequest对象,通过这个对象,我们可以构建一个异步的HTTP请求,向服务器发送数据,同时处理返回的结果。以下是一...

Global site tag (gtag.js) - Google Analytics