【问题标题】:How to send request from JavaScript inside in for loop [closed]如何在for循环中从JavaScript发送请求[关闭]
【发布时间】:2018-02-14 09:02:22
【问题描述】:

我想通过 javascript 请求发送群发短信。我试过像下面的代码,但它只发送到第一个电话号码。我想将它发送到数组列出的数字

<script type="text/javascript">
function message_api() 
{
    var phone_nubmers=['0000000','****','2222','4744'];
    for (var i = 0; i < phone_nubmers.length; i++) 
    {
        api(phone_nubmers[i]);
    }
}
function api(numbers) 
{
    var message="test message from ";
    var url='http://123.123.123.123:8080/sendsms/bulksms?username=*****-****&password=*********&type=0&dlr=1&destination='+numbers+'&source=******&message='+message;
    $.ajax({
        url:url,  
        success: function(data) {
            return data; 
        }
    });
}

我试过这样。

【问题讨论】:

标签: javascript ajax xmlhttprequest


【解决方案1】:

循环内的return 语句将明确停止执行,这就是为什么它只工作一次

您需要另一个函数来传递结果,以便循环继续,……。像下面这样就可以了

function takeResp(resp){
  console.log(resp)
}

function api(numbers) 
{
    var message="test message from ";
    var url='http://123.123.123.123:8080/sendsms/bulksms?username=*****-****&password=*********&type=0&dlr=1&destination='+numbers+'&source=******&message='+message;
    $.ajax({
        url:url,  
        success: takeResp(data)
    });
}

【讨论】:

  • 检查更新
  • 它保持不变,而不是成功函数中的return 只是将回调外部化
  • 我试过这样它表明我输入的数字没有发送任何消息
  • 没有发送请求
【解决方案2】:

这就是为什么:

return xmlHttp.responseText;

您还应该阅读同步和异步请求。

【讨论】:

    【解决方案3】:
    function message_api() {
        var phone_nubmers = ['0000000','****','2222','4744'];
        var message="test message from ";
    
        phone_nubmers.forEach(function(entry) {
            var url='http://123.123.123.123:8080/sendsms/bulksms?username=*****-****&password=*********&type=0&dlr=1&destination='+entry+'&source=******&message='+message;
    
            $.ajax({
                url:url,  
                success: function(data) {
                    return data; 
                }
            });
        });
    }
    

    【讨论】:

    • 这是一大堆几乎难以辨认的完全未格式化的代码(查看您的答案的预览,使用工具栏进行格式化,并阅读帮助),完全没有任何类似解释的东西已经改变或者为什么这应该有所帮助。
    • 正如@Quentin 所说,您能否解释一下您所做的事情以及为什么它可以解决问题?还要记住始终格式化您的代码。
    猜你喜欢
    • 2018-06-11
    • 2014-09-06
    • 2018-11-13
    • 2019-12-19
    • 2016-01-16
    • 2016-08-26
    • 1970-01-01
    • 2017-08-08
    相关资源
    最近更新 更多