xmlhttp.responseText这是返回的一个集合 在js中如何编写代码遍历这个集合把数据显示在jsp上啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xmlhttp.responseText这是返回的一个集合 在js中如何编写代码遍历这个集合把数据显示在jsp上啊?相关的知识,希望对你有一定的参考价值。

你说的是返回json格式的数据么 ?

如果是的话,请继续向下看。。

如果你服务器的返回数据有指定数据类型为 appliaction/json,那么是可以直接使用的。
如:
返回数据为 "a": "a", "b", "b"
那么可以使用
xmlhttp.responseText.a

xmlhttp.responseText.b
来取值;
如果没有指明返回类型,则可以使用 evel 函数,将字符串转换成json格式,再用上面的类似方法调用。

如果只是一般的集合,那么也可以使用eval函数将其转换,然后像数组那样使用。
如:
"a", "b", "c"
那么可以

xmlhttp.responseText[0] //得到 a

xmlhttp.responseText[1] //得到 b
xmlhttp.responseText[2] //得到 c
参考技术A Entity里面:
class stockPoolHistoryTo()
private String attHisId;
get...
set...

Action里面:
private List<Map<String, Object>> stockPoolHistoryList;
public String stockPoolHistoryList()
stockPoolHistoryList = stockPoolHistoryService.stockPoolHistoryList();
return SUCCESS;

Jsp里面:
<c:forEach items="$stockPoolHistoryList" var="item" varStatus="s">
<tr>
<td>
<fs:property value="stockPoolHistoryTo.ATTHISID" />
</td>
</tr>
</c:forEach>
Sqlmaps里面:
<select id="stockPoolHistory.stockPoolHistoryList" parameterClass="java.util.HashMap" resultClass="java.util.HashMap">
select h.att_his_id as attHisId
from jqy.tzjc_t_attpool_his h
</select>

var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 火狐不兼容问题HTML调用ASP实现和数据库同步

function XmlPost2(webFileUrl)

var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;
document.write(result);

在IE下运行正常但是在火狐谷歌等浏览器中,无任何显示
调用是这位哥<SCRIPT language="javascript">XmlPost2('../downpage.asp?newsid=193');</SCRIPT>
---asp页面
<!-- #include file="inc/co.asp"-->
<%
WITH Response
.ContentType = "text/html"
.CharSet = "gb2312"
newsid=Request("newsid")'接收传来的行ID
if not isnumeric(newsid) or newsid="" or len(newsid) > 8 then newsid = 1 else newsid = clng(newsid)
'conn.execute("update news set Newshot=Newshot where NewsID="&newsid&"")
set rs=conn.execute("select * from news where newsid="&newsid&"")
News_Class_Id= rs("News_Class_Id")
set upage = conn.execute("select * from news where NewsID<" & newsid &" and News_Class_Id=" & News_Class_Id & " order by newsid desc")
if not (upage.eof or upage.bof) then
Response.Write( "<a href="""&upage(1)&".html"">"&upage(1)&" </a> ")
end if
upage.close : set upage = nothing
END WITH
conn.close:set conn=nothing
%>

参考技术A var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
if(xmlHttp==null)
    xmlHttp=new XMLHttpRequest();

参考技术B   尊敬的用户,您好!很高兴为您答疑
  你这遇到的应该是js同步异步的问题,你可以尝试以下方式:
  var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
  var url = "目标地址/xml";
  var asyncDone = false;
  try
  xmlhttp.open("GET", url, true);
  xmlhttp.onreadystatechange = onReadyStateChange;
  xmlhttp.send(null);
  // loop so that the program from quiting
  while (!asyncDone)
  WScript.Sleep(100);
  
  WScript.Echo(xmlhttp.responseText);
   catch (e)
  WScript.Echo(e);
  
  function onReadyStateChange()
  WScript.Echo("readyState: " + xmlhttp.readyState);
  if (xmlhttp.readyState == 4)
  asyncDone = true;
  
  
此模式下,只有不关闭浏览器,就会同步获取到您所请求的资源。
  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
参考技术C 我也遇到同样的问题 谷歌也同样不能用追问

不知道怎么弄啊!
在火狐里面里面用

这样可以显示。但是加上sqL语句就不行显示的就是中document.write("aaa")"

追答

try
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
try
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
catch (e)
xmlHttpRequest = new XMLHttpRequest();


我是这样解决在火狐谷歌不能异步调用问题的

追问

function XmlPost2(webFileUrl)

var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); //这里改成你上面的那样吗?但是我改了后在IE上面都没得显示.

出来了,我没看清楚你发的定义的名字和我的不一样.3Q了.呵呵.我找这个弄了2天了之前也是找到过类是你这个TRY的方法但是都不行.

本回答被提问者采纳

以上是关于xmlhttp.responseText这是返回的一个集合 在js中如何编写代码遍历这个集合把数据显示在jsp上啊?的主要内容,如果未能解决你的问题,请参考以下文章

将 php 变量传递给 xmlhttp.responseText

ajax 返回数值 分段 显示 怎么做

Ajax的使用

如何从json文档打印列表

执行AJAX返回HTML片段中的JavaScript脚本

按键精灵 获取网页按钮.click后生成的源码