Javascript HTTP请求JS-如何从列表中提取数字,将它们保存到变量中,并使用它们进行进一步处理?

Javascript HTTP请求JS-如何从列表中提取数字,将它们保存到变量中,并使用它们进行进一步处理?,javascript,arrays,http,meteor,xmlhttprequest,Javascript,Arrays,Http,Meteor,Xmlhttprequest,我已经搜索过这个话题,但找不到适合我的答案 我通过执行HTTP Get请求从外部服务器接收应答。服务器返回一个包含多个数字的列表,我需要进一步处理这些数字。替换我不需要的信息后,列表如下所示: <int>123</int> <int>987</int> <int>7536</int> <int>879812</int> <int>5697231</int>

我已经搜索过这个话题,但找不到适合我的答案

我通过执行HTTP Get请求从外部服务器接收应答。服务器返回一个包含多个数字的列表,我需要进一步处理这些数字。替换我不需要的信息后,列表如下所示:

  <int>123</int>
  <int>987</int>
  <int>7536</int>
  <int>879812</int>
  <int>5697231</int>
123
987
7536
879812
5697231
问题是列表可能会像这样。服务器答案也可能类似于:

<int>189977</int>
<int>7897</int>
<int>77</int>
189977
7897
77
或者就像:

<int>6</int>
6
你看,我不知道我会得到多少数字作为回应,甚至不知道单个数字有多长

每个数字代表一个结果,这对于执行HTTP请求的用户来说很重要。更准确地说,这些数字是来自其他站点(请求发送到的服务器)的搜索链接的一部分

我的目的是,在用户提出请求后,他应该被重定向到一个页面,在该页面中显示具有正确数字的链接,以便用户可以单击链接以找到合适的结果

我的建议是首先删除列表中的“
”和“
,然后将每个数字保存到类似Var或ReactiveVar的地方,然后使用它们呈现该页面上的链接

我能够将数字保存到会话变量中(我正在使用Meteor)并在页面上呈现它们,但这并不是我真正想要的。不幸的是,我不知道如何执行其他事情

有人知道如何做到这一点吗?我真的很感激任何有帮助的事情


谢谢。

如果值已经在XML中,您可以使用DOM解析器来检索这些值

// Add a <root> element so the XML can be parsed properly
const xml = '<root><int>123</int>' +
  '<int>987</int>' +
  '<int>7536</int>' +
  '<int>879812</int>' +
  '<int>5697231</int></root>';

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xml,'text/xml');

const intElements = xmlDoc.getElementsByTagName('int');

let ints = [];

for (const intElement of intElements) {
  // Use parseInt() to convert the strings to numbers
  ints.push(parseInt(intElement.childNodes[0].nodeValue, 10));
}

// Use ints as you would like    
document.getElementById('result').innerHTML = JSON.stringify(ints);
//添加一个元素以便正确解析XML
常量xml='123'+
'987' +
'7536' +
'879812' +
'5697231';
const parser=new DOMParser();
const xmlDoc=parser.parseFromString(xml,'text/xml');
const intElements=xmlDoc.getElementsByTagName('int');
设int=[];
for(元素的常量元素){
//使用parseInt()将字符串转换为数字
push(parseInt(intElement.childNodes[0].nodeValue,10));
}
//根据需要使用ints
document.getElementById('result').innerHTML=JSON.stringify(ints);

如果值已经存在于XML中,则可以使用DOM解析器来检索这些值

// Add a <root> element so the XML can be parsed properly
const xml = '<root><int>123</int>' +
  '<int>987</int>' +
  '<int>7536</int>' +
  '<int>879812</int>' +
  '<int>5697231</int></root>';

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xml,'text/xml');

const intElements = xmlDoc.getElementsByTagName('int');

let ints = [];

for (const intElement of intElements) {
  // Use parseInt() to convert the strings to numbers
  ints.push(parseInt(intElement.childNodes[0].nodeValue, 10));
}

// Use ints as you would like    
document.getElementById('result').innerHTML = JSON.stringify(ints);
//添加一个元素以便正确解析XML
常量xml='123'+
'987' +
'7536' +
'879812' +
'5697231';
const parser=new DOMParser();
const xmlDoc=parser.parseFromString(xml,'text/xml');
const intElements=xmlDoc.getElementsByTagName('int');
设int=[];
for(元素的常量元素){
//使用parseInt()将字符串转换为数字
push(parseInt(intElement.childNodes[0].nodeValue,10));
}
//根据需要使用ints
document.getElementById('result').innerHTML=JSON.stringify(ints);

相当酷,这绝对帮了我的忙!它与您的价值观如出一辙。现在我得到了[12398775368798125697231]的服务器响应。但是,是否可以将列表作为变量插入?因为正如我所提到的,列表可能看起来不同,当我将SessionVar放在两个变量之间时,它就不再起作用了。在这种情况下,我只能得到[]。或者,如果我将每个数字本身保存到一个var,会更好吗?还是循环一个变量?因为,我需要创建一个与每个数字的链接。无论如何,非常感谢!好的,这是一个输入错误,我可以插入变量。。。现在我只需要找出如何创建出结果的链接,我想我会很快发现,所以非常感谢!不客气!很抱歉稍有延迟,但我只想将
int的整个列表保存在一个变量中。至于链接的创建,假设您使用的是Blaze,请使用
#each
创建一个模板,然后使用该模板。看,很酷,这绝对帮了我的忙!它与您的价值观如出一辙。现在我得到了[12398775368798125697231]的服务器响应。但是,是否可以将列表作为变量插入?因为正如我所提到的,列表可能看起来不同,当我将SessionVar放在两个变量之间时,它就不再起作用了。在这种情况下,我只能得到[]。或者,如果我将每个数字本身保存到一个var,会更好吗?还是循环一个变量?因为,我需要创建一个与每个数字的链接。无论如何,非常感谢!好的,这是一个输入错误,我可以插入变量。。。现在我只需要找出如何创建出结果的链接,我想我会很快发现,所以非常感谢!不客气!很抱歉稍有延迟,但我只想将
int的整个列表保存在一个变量中。至于链接的创建,假设您使用的是Blaze,请使用
#each
创建一个模板,然后使用该模板。看见