【问题标题】:My function is only working inside of the else in an if statement?我的函数只在 if 语句中的 else 内部工作?
【发布时间】:2016-04-19 11:45:50
【问题描述】:

如果您需要编辑功能,请告诉我。无论如何,我正在浏览一个 JSON 表并获取 ROBLOX 上的项目的 ID。如果您不使用 ROBLOX,我们将使用字母。如果 A 的名称是 B 的资产 ID,则将 A 的名称更改为 B 的名称。这基本上就是我想要做的,但它不起作用。这是我的 if 语句。

function loop(page) {
    $.get("https://search.roblox.com/catalog/json?Subcategory=1&CreatorID=62277089&CurrencyType=0&pxMin=0&pxMax=0&SortType=3&SortAggregation=5&SortCurrency=0&IncludeNotForSale=true&LegendExpanded=false&Category=1&PageNumber=" + page).success(function(data) {
        console.log("On page: " + page);
        for (var i = 0; i < data.length; i++) {
            var prevName = data[i].Name;

            if (!isNaN(prevName)) {
                console.log("Name was Number, changing...")
                $.get("https://www.roblox.com/item.aspx?id=" + Number(prevName)).success(function(data) {
                    var name = $("h1.notranslate", data).text();
                    edit(data[i].AssetId, name);
                    console.log("Changed to " + name);
                });
            } else {
                edit(data[i].AssetId, prevName);
            }
        }
    });
}

for (var i = 1; i < 4; i++) {
    loop(i);
}

感谢您的帮助。

【问题讨论】:

  • 请发布完整代码。 prevName 是什么?在哪里声明?

标签: javascript jquery json function get


【解决方案1】:

您的两个$.get 函数都将数据返回到data 变量中。试试这个

...
if (!isNaN(prevName)) {
    console.log("Name was Number, changing...")
    $.get("https://www.roblox.com/item.aspx?id=" + Number(prevName)).success(function(data2) {
       var name = $("h1.notranslate", data2).text();
       edit(data[i].AssetId, name);
       console.log("Changed to " + name);
    });
} else {
    edit(data[i].AssetId, prevName);
}
...

【讨论】:

  • 范围无关紧要。
猜你喜欢
  • 2011-09-11
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
  • 2019-02-28
  • 1970-01-01
  • 2020-11-28
相关资源
最近更新 更多