Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 我需要为循环ajax调用中的数据分配id_Jquery_Arrays_Ajax_Function - Fatal编程技术网

Jquery 我需要为循环ajax调用中的数据分配id

Jquery 我需要为循环ajax调用中的数据分配id,jquery,arrays,ajax,function,Jquery,Arrays,Ajax,Function,我正在使用两个端点: 位置ID的列表 特定于位置的信息(此终结点需要来自末尾第一个的id) 第二个端点不包括位置ID,但我需要它们成为位置信息的一部分。我本想以某种方式将ID注入位置信息,但我被卡住了 我调用以检索位置ID: ar settings1 = { "async": true, "crossDomain": true, "url": "wss_api/wss_api.php?method=hello&format=json", "dataType

我正在使用两个端点:

  • 位置ID的列表
  • 特定于位置的信息(此终结点需要来自末尾第一个的id)
  • 第二个端点不包括位置ID,但我需要它们成为位置信息的一部分。我本想以某种方式将ID注入位置信息,但我被卡住了

    我调用以检索位置ID:

    ar settings1 = {
        "async": true,
        "crossDomain": true,
        "url": "wss_api/wss_api.php?method=hello&format=json",
        "dataType": "json",
        "method": "GET"
    };
    
    var a1 = $.ajax(settings1);
    
    var en = [];
    
    var rt = [];
    
    $.when(a1).done(function(d1) {
    
        var d1p = JSON.parse(d1.data);
    
        $.each( d1p.Entities, function(i, id) {
    
            en.push({entity:id, url:"http://localhost/api_test/wss_api/locationdata.php?method=hello&format=json&entity=" + id});
    
        });
    
        makeMerge(en, d1p);
    
    });
    
    在这里,我将包含id和url(末尾的id)的对象推送到“en”。我使用“en”和“d2”作为参数启动makeMerge函数

    在makeMerge函数中,我有一个用于ajax调用的函数,并执行一个forloop来将带有url和id的函数推送到“rt”

    函数makeMerge(en_url,en_id){
    功能位置数据(d2、d3){
    返回$.ajax({
    “异步”:true,
    “跨域”:正确,
    “数据类型”:“json”,
    “url”:d2,
    “方法”:“获取”
    });
    }
    for(在en_url中的url){
    rt.push(LocationData(en_-url[url].url,en_-url[url].entity));
    }
    $.when.apply(this,rt).done(函数(){
    var-ld=[];
    for(var i=0;i
    然后我执行ajax调用

    问题在于,id从第一个ajax调用(d1p.Entities)到包含id和url的对象(en),再到makeMerge函数的forloop(en_url[url].entity),再到LocationData函数(d3)中的一个参数,然后停止

    我想将id分配给相应URL检索到的数据,从逻辑上讲,这应该在LocationData函数中完成,以便在启动ajax调用时,在继续下一个调用之前分配当前使用的id。我认为这是确保顺序不会混乱的最佳方法(分配给数据的ID错误)


    有人能想出一个解决方案吗?

    我在我的参数for循环中使用了一个for循环,该循环通过id循环,并在id的索引与参数的索引匹配时分配id

    $.when.apply(this, rt).done(function () {
    
            var ld = [];
    
            for (var i = 0; i < arguments.length; i++) {
    
                datap = $.parseJSON(arguments[i][0].data);      
    
                for (url in en_urls) {  
    
                    if (url == i) {
    
                        datap.Location["Entity"] = en_urls[url].entity;
    
                    }
    
                };
    
                values = datap.Location;
    
                ld.push(values);
    
            };  
    
    $.when.apply(this,rt).done(函数(){
    var-ld=[];
    for(var i=0;i
    $.when.apply(this, rt).done(function () {
    
            var ld = [];
    
            for (var i = 0; i < arguments.length; i++) {
    
                datap = $.parseJSON(arguments[i][0].data);      
    
                for (url in en_urls) {  
    
                    if (url == i) {
    
                        datap.Location["Entity"] = en_urls[url].entity;
    
                    }
    
                };
    
                values = datap.Location;
    
                ld.push(values);
    
            };