【发布时间】:2015-10-15 01:15:21
【问题描述】:
如何使用 javascript 从服务器接收多个响应。
我有一个要求,其中一次发布请求,其中包含数据和迭代次数,并且在服务器端处理请求的迭代次数。每次迭代完成后,服务器发回响应。因此,对于一个请求和 10 次迭代,我的 java 脚本需要接收 10 个响应并将其显示在网页上。有什么方法可以使用 javascript 来处理这个问题。我不能使用任何其他技术。
我现在正在使用以下方式
function showResponse(){
xmlHttp = GetXmlHttpObject();
var dataString = document.getElementById("request-parameters").value;
var iterations = document.getElementById("iterations").value;
if(xmlHttp==null){
alert("your browser does not support AJAX!");
}
var url = "http://localhost:8080/servlet/requestServlet";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.send(dataString);
}
function GetXmlHttpObject(){
var xmlHttp=null;
try{
//Firefox, Opera, Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
//IE
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function stateChanged(){
if(xmlHttp.readyState==4){
if(xmlHttp.status == 200){
var resp = xmlHttp.responseText;
var responseDiv = document.getElementById("response");
responseDiv.innerHTML=responseDiv.innerHTML+resp1[1];
}
}
}
我无法修改这种方法。是否可以使用 XmlHttp 对象完成它。
【问题讨论】:
-
您的服务器端技术是什么?对于 .NET,您所追求的是 SignalR
-
@Jamiec 我正在使用 java servlets
-
我已经适当地标记了您的问题 - 这将帮助您获得更好的答案,因为更了解 Java 及其相关库/框架的人会被这个问题所吸引。
标签: javascript java websocket