javascript 参数的多个值



我正在使用Javascript函数将一条消息发送到多个目的地或号码:

var data = JSON.stringify({
  "from": "InfoSMS",
  "to": [
    "41793026727",
    "41793026834"
  ],
  "text": "Test SMS."
});

现在在我的应用程序中,我将"to"作为参数 - arg.receivers,其中数字将被馈送到代码中,作为 41793026727,41793026834

但是,argument-arg.receivers 被识别为单个数字参数,因此它不会发送短信

因此,如果arg.receivers只是一个数字,例如,41793026834它发送SMS,但如果它是像上面那样的多个,它不会发送它。

有没有办法将参数框定为多个数字?

请帮忙

您可以迭代数据(不要字符串化(并逐个发送消息。

var data = {
  "from": "InfoSMS",
  "to": ["41793026727", "41793026834"],
  "text": "Test SMS."
};
data.to.forEach( function(to){
   sendMessage( JSON.stringify( Object.assign( {}, {to:to}, data )  ) ); //creating one message each for **to**
});
function sendMessage(data) {
  var xhr = new XMLHttpRequest();
  xhr.withCredentials = false;
  xhr.addEventListener("readystatechange", function() {
    if (this.readyState === this.DONE) {
      console.log(this.responseText);
    }
  });
  xhr.open("POST", "api.infobip.com/sms/1/text/single");
  xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
  xhr.setRequestHeader("content-type", "application/json");
  xhr.setRequestHeader("accept", "application/json");
  xhr.send(data);
}

编辑

如果您已经获得一个字符串,请执行

data = JSON.parse( data );

然后继续执行forEach中的其余逻辑

最新更新