JSON на стороне клиента - PullRequest
       3

JSON на стороне клиента

1 голос
/ 04 февраля 2011

Следующий кодовый блок выполняется без ошибок, но «данные» возвращаются как то, что кажется одной одномерной записью.Код возвращает одну запись со всеми записями в ней, то есть, если я отлаживаю и выводю переменную data в непосредственное окно, я получаю:

?data
{...}
    [0]: "127"
    [1]: "Barnesmore"
    [2]: "-7.934532"
    [3]: "54.692091"
    [4]: "75"
    [5]: "Beinn an Tuirc"
    [6]: "-5.583115"
    [7]: "55.565631"
    [8]: "78"
    [9]: "Beinn Tharsuinn"
    [10]: "-4.251795"
    [11]: "57.805856"
    [12]: "77"
    [13]: "Black Law"
    [14]: "-3.705482"
    [15]: "55.77749"
    [16]: "1"
    [17]: "BlackLaw Phase 3"
    [18]: "323232"
    [19]: "121212"
    20: null
    21: null
    22: null
    23: null
    length: 24

, но элемент с [0] по [3] является записьюи [4] - [7] - запись и так далее.Как я могу изменить свой код, чтобы просто зациклить записи?Большое спасибо за чтение, вот мой фрагмент кода ниже :::

        var index = 0;
        var itemData;
        var url = $("#AbsolutePath").val() + "Site.mvc/GetMapList/" + "?siteDescription=" + $('#SearchTextBox').val();

        var arr = $.getJSON(url, null, function(data) {

            $.each(data, function(index, itemData) {
                debugger;
                alert(itemData);

            });

        });

КОД КОНТРОЛЛЕРА:

    public JsonResult GetMapList(string siteDescription)
    {
        var allSites = _siteRepository.FindAllSites();
        //Get all Sites that contain the value in sitedescription
        var searchResults = (from s in allSites
                             where s.SiteDescription.StartsWith(siteDescription)
                             select s);

        // We need an object client side to loop through in Javascript and add all the tags to the Map for each site in Search Results
        string[,] sArray = new string[searchResults.Count(), 4];
        int i = 0;

        foreach (Site item in searchResults)
        {
            if (item.SiteLocation == null || item.SiteLocation.SiteLocationId == 0)
            { }
            else
            {
                if ((item.SiteLocation.Latitude != 0) && (item.SiteLocation.Longitude != 0))
                {

                    sArray[i, 0] = item.SiteId.ToString();
                    sArray[i, 1] = item.SiteDescription.ToString();
                    sArray[i, 2] = item.SiteLocation.Longitude.ToString();
                    sArray[i, 3] = item.SiteLocation.Latitude.ToString();
                    i++;
                }
            }
        }
        return this.Json(sArray);
    }

1 Ответ

1 голос
/ 04 февраля 2011

? Что-то на линии

for(i=0; i < data.length; i + 4 ){
  var myrecord = "Record Number: " + data[i] + ", Place: " +  data[i + 1] + ", Longitude: " + data[i + 2] + ", Latitude: " + data[i + 3];
  alert (myrecord);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...