使用 ajax call .done 发送一个变量

Sending a variable with ajax call .done

是否有可能将变量 'schedule_id[i]' 与调用结果一起发送。也可以在数据对象中添加这个变量吗?

我的代码:

for (var i = 0; i < schedule_id.length; i++) {

    //Ajax call
    $.ajax({
        url: "http://api.viewer.zmags.com/schedules/" + schedule_id[i] + "?key=" + api_key
    })

    //
    .done(function(data){

}

所以你需要异步 ajax 以同步方式调用对吗?

因此您需要创建一个单独的函数,即调用 ajax 请求和 return 结果并在后续请求中使用。

喜欢:-

for (var i = 0; i < schedule_id.length; i++) {
    var result;
    if (i == 0)
        result = callfunction(0,schedule_id[i]);
    else
        result = callfunction(result,schedule_id[i]);
}

function callfunction(passresult,schedule_id) {
    $.ajax({
        url: "http://api.viewer.zmags.com/schedules/" + schedule_id + "?key=" + api_key
    })
  .done(function (data) {
      return data;
  });
}

像这样构建 ajax 调用:

$.ajax({
    url: 'http://api.viewer.zmags.com/schedules/',
    type: 'POST' // or GET,
    data: {
        schedule_ids: schedule_id, //array
        key: api_key
    },
    success: function (data) {
        //success callback
    }
});