我的json对象的每个值都会两次添加到“ listOfCountries”中。我不明白为什么它会在结果对象中循环两次。任何帮助,将不胜感激!

var listOfCountries = []

$(document).ready(function () {

    $.ajax({
        url: '/Json/GetCountries',
        type: 'GET',
        success: function (result) {

            $.each(result, function (name, value) {
                listOfCountries.push(value.Country);
            });

            $("#countriesAutoComplete").kendoAutoComplete(listOfCountries);
        }
    });
});


通过电线发送的Json对象:

[{"Country": "United States Of America"},{"Country": "Australia"},{"Country": "Britain"}]


html

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
       <p>
           Country: <input id="countriesAutoComplete" class="k-input" />
       </p>
    </div>
    <script type="text/javascript" src="~/Scripts/Custom.js"></script>
</body>
</html>

最佳答案

每次运行代码时,您都会向listOfCountries添加更多字符串。
您永远不会从上次删除字符串,因此全局数组不断增长。

您可能不应该将其设置为全局变量。

10-07 18:11