将变量从Ajax调用传递到成功函数

时间:2015-08-17 01:55:52

标签: jquery ajax json

我有代码接受用户输入,将其合并到一个AJAX调用URL中,然后根据他们的输入检索数据。

检索到的数据是JSON格式,因此我想使用用户的原始输入访问该JSON对象的某个部分。

例如:

USER INPUT:example_name

AJAX网址:www.something.com/api/example_name?api_key=12345

返回对象时

我想访问:Object.example_name.id

我在将原始AJAX调用中的变量“example_name”传递给成功函数时遇到了困难。

这是我的代码:

function getSummonerId(n) {
    console.log("check function...");
    $.ajax({
        dataType: "json",
        type: 'GET',
        url: 'https://url_here/' + n + '?api_key=12345',
        success: function (json, n) {
            console.log(json);
            console.log(n); //this logs "success"
            summonerId = json[n].id;
            console.log(summonerId);

            getScore(summonerId); //send to another function
        }

    });
}

我收到了这样的错误:

TypeError: json[n] is undefined

还有其他线程提出这个问题,但找不到他们从原始调用中将'n'传递给成功函数的任何地方。

谢谢!

1 个答案:

答案 0 :(得分:0)

我结束了一个名为fName的函数添加变量,并将其设置为传递给它的“n”。

然后我使用json[fName].id来访问该值。