Действительно простая (?) Ошибка jquery / json? Синтаксическая ошибка и рекомендации для вывода needen - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь получить обратно строку json от моего контроллера, то есть prefill-значения для столбца jqGrid.

    $("#dagbok_grid").setColProp("Kalla", { editoptions: { value: 

        $.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) {
            alert("sdf");
            //What to do here, to get the json string here?
        });

    } });

У меня две проблемы, я подозреваю, что они связаны. Я получаю синтаксическую ошибку в JavaScript выше. Кроме того, как вывести данные, которые возвращаются из действия контроллера?

1 Ответ

6 голосов
/ 22 марта 2012

AJAX является асинхронным. Это то, что означает первый А в аббревиатуре. Метод $.getJSON не возвращает то, что вы думаете. Этот метод запускает запрос AJAX и сразу же возвращается. Результат этого запроса будет доступен намного позже при успешном обратном вызове. Поэтому вы не можете просто присвоить value свойство $.getJSON, как вы это сделали.

Сначала вы должны отправить запрос AJAX, а затем вызвать метод setColProp в обратном вызове успеха:

$.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) {
    // The AJAX call succeeded, the data parameter will contain the JSON
    // object returned by your controller action. You can now assign it to
    // the value
    $('#dagbok_grid').setColProp('Kalla', {
        editoptions: {
            value: data
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...