如何将数组值传递给函数javascript

时间:2019-05-25 05:47:59

标签: javascript jquery html ajax lit-element

我想知道如何将数组中的值传递给javascript中的ajax函数。 对于每个ID,请在javascript中调用该函数。 如何传递数组中的每个id并调用函数

var listid=["fund","trans","ins"]; 

getData(id){
var li = $.ajax({
    url: "/en",
    method: 'get',
    global: false,
    async: false,
    data: {
      idvalue: id
    },
    success: function(value) {
      return value;
    }
  }).responseText;
 console.log(JSON.parse(li));

}

6 个答案:

答案 0 :(得分:1)

您可以使用:

listid.forEach(function (id) { getData(id) });

答案 1 :(得分:0)

您可以对数组使用map函数。 这是一个将回调作为参数的JavaScript函数。您可以将任何函数作为回调传递,它将为该数组中的每个值调用该函数。

答案 2 :(得分:0)

将循环应用于您的id数组。

var listid=["fund","trans","ins"]; 

for(let i = 0, len = listid.length; i < len; i++) {
    getData(listid[i]);
}

答案 3 :(得分:0)

您可以使用$ .each作为您的数组值

var listid=["fund","trans","ins"]; 
    $.each(listid, function( index, value ) {
      //console.log( index + ": " + value );
      getData(value );  //uncomment this for actual implementation
    });
    
    function getData(id){
    var li = id;
    /*$.ajax({
      url: "/en",
      method: 'get',
      global: false,
      async: false,
      data: {
        idvalue: id
      },
      success: function(value) {
        return value;
      }
    }).responseText;*/
    //console.log(JSON.parse(li));
    console.log(li);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

答案 4 :(得分:0)

var listid=["fund","trans","ins"]; 

for(var i = 0 ; i < listid.length ; i++){
getData(listid[i]);

}
function getData(id){
var li = $.ajax({
    url: "/en",
    method: 'get',
    global: false,
    async: false,
    data: {
      idvalue: id
    },
    success: function(value) {
      return value;
    }
  }).responseText;
 console.log(JSON.parse(li));

}

答案 5 :(得分:0)

您可以轻松地使用forEach遍历列表。

var listid=["fund","trans","ins"]; 

listid.forEach(function(id) {
   getData(id);
});

function getData(id) {
   var xhr = $.ajax({
    url: "/en",
    method: 'get',
    global: false,
    async: false,
    data: {
      idvalue: id
    },
    success: function(value) {
      return value;
    }
  }).always(function(data,  textStatus, jqXHR) {
      // deal with the data
  })
}

如果您正在使用较新版本的Jquery,则从jQuery 3.0开始,将删除jqXHR.success(),jqXHR.error()和jqXHR.complete()回调。  您可以改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。

function getData(id) {
   var xhr = $.ajax({
    url: "/en",
    method: 'get',
    global: false,
    async: false,
    data: {
      idvalue: id
    },
    success: function(value) {
      return value;
    }
  })
  .done(function(data, textStatus, jqXHR ) {
    // do something with value
  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    alert( "error" );
  })
  .always(function() {
    alert( "complete" );
  });
}