将数组传递给函数 - 数组在函数内是空的

时间:2014-08-25 20:11:43

标签: javascript arrays ajax json function

我几乎尝试了所有东西,我有两个代码:

第一个,pokaz_ofe,调用正确的函数 - " generuj_oferte"在ajaxQuery()函数中,但我无法访问ajaxQuery()中的postTab数组。没有删除postData,它使用了来自另一个调用的旧数组(其他在" pokaz_ofe"函数中)。

function ajaxQuery(postData, func_var) {
    $.ajax({
        type: "POST",
        url: "ajax/pokaz_lst.php",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(postData),
        success: func_var
    })
    postData = [];
    delete postData;
}
function pokaz_ofe(id,tab) {
    if(!tab) {
      var postTab = [
        { "id": id }
      ]
    }
    else {
      var postTab = [
        { "id": id },
        { "listaId": tab}
      ]
    }
    ajaxQuery(postTab, generuj_oferte);
}
function generuj_oferte(res) {
    $(document).ready(function(){
        $('#modal-oferta').html( res );
    });
}

这是不同的代码,但我希望它更灵活:

function pokaz_ofe(id,tab) {
    if(!tab) {
      var postData = [
        { "id": id }
      ]
    }
    else {
      var postData = [
        { "id": id },
        { "listaId": tab}
      ]
    }
    $.ajax({
        type: "POST",
        url: "ajax/pokaz_ofe.php",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(postData),
        success: generuj_oferte
    })
}

1 个答案:

答案 0 :(得分:0)

这是一个愚蠢的错误......现在是:

function ajaxQuery(filename, postData, func_var) {
    $.ajax({
        type: "POST",
        url: "ajax/" + filename + ".php",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(postData),
        success: func_var
    })
    postData = [];
    delete postData;
}

这完全是关于文件名。