Javascript 递归调用未完全执行的web服务
我正在研制钛合金Appcelerator来开发iphone应用程序。我需要使用不同的参数调用一个web服务大约1250次以上。我已将xhr.send()方法放在xhr.onload函数中。它可以正常工作大约3-8次,但之后停止呼叫。没有显示错误或任何问题。请建议Javascript 递归调用未完全执行的web服务,javascript,iphone,titanium,Javascript,Iphone,Titanium,我正在研制钛合金Appcelerator来开发iphone应用程序。我需要使用不同的参数调用一个web服务大约1250次以上。我已将xhr.send()方法放在xhr.onload函数中。它可以正常工作大约3-8次,但之后停止呼叫。没有显示错误或任何问题。请建议 function(e){ var xhr = Titanium.Network.createHTTPClient(); var Request = "<RefId>"+idArray[e.index]"</Re
function(e){
var xhr = Titanium.Network.createHTTPClient();
var Request = "<RefId>"+idArray[e.index]"</RefId>";
xhr.open("POST", url);
xhr.setRequestHeader("WWW-Authenticate","Basic");
xhr.setRequestHeader("Content-Type","text/xml", "charset=utf-8");
xhr.setRequestHeader("Content-Length", Request.length);
xhr.setRequestHeader("SOAPAction", "http://example.com");
xhr.onload = function() {
var doc = Titanium.XML.parseString(this.responseText);
var type = doc.getElementsByTagName("studentName");
Ti.API.info(type.item+';'+type.item.length);
if(type.item.length<1){
file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, "textfile.txt");
}
doc=null;
type=null;
if(idArray.length>e.index){
//alert('Calling API');
var url="http://example.com";
var Request = "<RefId>"+idArray[e.index++]"</RefId>";
xhr.setTimeout(2500);
xhr.open("POST", url);
xhr.send(Request);
}
};
xhr.onerror = function(){
alert('Error')
};
xhr.send(Request);
函数(e){
var xhr=Titanium.Network.createHTTPClient();
var Request=“+idArray[e.index]”;
xhr.open(“POST”,url);
setRequestHeader(“WWW-Authenticate”、“Basic”);
setRequestHeader(“内容类型”、“文本/xml”、“字符集=utf-8”);
setRequestHeader(“内容长度”,Request.Length);
setRequestHeader(“SOAPAction”http://example.com");
xhr.onload=函数(){
var doc=tianium.XML.parseString(this.responseText);
var type=doc.getElementsByTagName(“学生名”);
Ti.API.info(type.item+';'+type.item.length);
if(type.item.lengthe.index){
//警报(“调用API”);
变量url=”http://example.com";
var Request=“+idArray[e.index++]”;
xhr.setTimeout(2500);
xhr.open(“POST”,url);
发送(请求);
}
};
xhr.onerror=函数(){
警报('错误')
};
发送(请求);
}我每次都会尝试重新创建客户端,而不仅仅是再次调用send示例代码附在这里。任何猜测。原因是什么?对此有何回应。这是可以解决的吗?