javascript – AJAX请求 – 添加额外的GET请求内部循环

前端之家收集整理的这篇文章主要介绍了javascript – AJAX请求 – 添加额外的GET请求内部循环前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在顶部有一个按钮,显示一个模态窗口以启动VOIP呼叫 – 最终目的是调用列表中的第一个数字,然后调用第二个数字,依此类推.我有它工作,它显示模态窗口,并允许我发起呼叫列表中的第一个数字.

我现在需要更新脚本,以便在调用成功的情况下,然后在循环中发出另一个AJAX请求,每5秒检查一次调用的状态.如果第一次调用成功,它将返回我存储在httpResponseText变量中的以下内容

  1. Authentication accepted

我需要解析ActionID值 – 在上面的示例中这将是Jo9oACY52cp1 – 然后通过传递ActionID获得另一个GET请求以获取当前调用的状态,如下所示:

  1. https://www.acme.com/GetStatus.PHP?ActionID=$action_id

此请求返回3个值 – ActionID,UID,STATUS – 如下所示:

  1. xshsJ6Y2eLDC,1500806656.160,ANSWER

我只对第三个值 – STATUS感兴趣 – 我需要继续检查此请求的结果,直到Status不等于IN_PROGRESS.此时我可以启用“下一个呼叫”按钮并重新开始.

这是我当前的表格和脚本:

  1. $("#startBulkContactCall").click(function() {
  2. $(this).attr('selectedRow','1');
  3. contactMobile = $($($('table > tbody > tr:nth-child(1) > td:nth-child(2)').children())[0]).attr('contactMobile');
  4. contactName = $($($('table > tbody > tr:nth-child(1) > td:nth-child(2)').children())[0]).attr('contactName');
  5. $('#callNextBulkContact').prop('disabled',true);
  6. firstURL = "PHP echo $callBackURL ;?>" + defaultCallBackNumber + "PHP echo $contactCallBack ;?>" + contactMobile;
  7. console.log('firstURL: ' + firstURL);
  8. $.ajax({
  9. url: "PHP echo $callBackURL ;?>" + defaultCallBackNumber + "PHP echo $contactCallBack ;?>" + contactMobile,data: {},type: "GET"
  10. })
  11. .then(function(data,status,xhr) {
  12. var httpStatus = status;
  13. var httpResponseCode = (xhr.status);
  14. var httpResponseText = (xhr.responseText);
  15. $('#ajaxSuccessBulk').html('Call in Progress').show();
  16. $("#startBulkContactCall").prop("disabled",true);
  17. $("#callNextBulkContact").prop("disabled",true);
  18. })
  19. .fail(function(xhr) {
  20. var httpStatus = (xhr.status);
  21. var httpResponseCode = (xhr.getAllResponseHeaders);
  22. var httpResponseText = (xhr.responseText);
  23. var ajaxError = 'There was an error requesting the call back. HTTP Status: ' + httpStatus + ' ' + httpResponseText;
  24. //make alert visible
  25. $('#ajaxError').html(ajaxError).show();
  26. })
  27. });
  28. $('#callNextBulkContact').click(function() {
  29. $('#callBulkContact').attr('selectedRow',parseInt($('#callBulkContact').attr('selectedRow')) + 1);
  30. var rowNum = parseInt($('#callBulkContact').attr('selectedRow'));
  31. var row = 'table > tbody > tr:nth-child(' + rowNum + ') > td:nth-child(2)';
  32. contactMobile = $($($(row).children())[0]).attr('contactMobile');
  33. contactName = $($($(row).children())[0]).attr('contactName');
  34. });

猜你在找的jQuery相关文章