Как вернуть JSON из действия в CFWheels?

Я много читал о возврате JSON в CFWheels ... все выглядит прямолинейно, но все, что я когда-либо получаю, это пустая страница без возврата JSON. Возможно, я делаю что-то действительно явно неправильное здесь.

Вот мои действия:

public void function ajax() { 

    param name="params.keyword" default="";

    onlyProvides("json");

    pins = model("pin").findAll(

        include     = "user", 
        order       = "createdat DESC",
        where       = "title LIKE '%#cleanInput(application.jsoup, params.keyword)#%'"

    );

    renderWith(data=pins, layout=false);

}

Я могу подтвердить, что поиск по слову и сброс результата запроса показывают запись, но когда это похоже на выше, все, что я получаю, это пустой экран. Я что-то упустил здесь?

Я хочу вернуть объект запроса в формате JSON. Есть ли что-то, что я должен на самом деле вывести на мой взгляд? Я мог бы сделать это, но хотел бы сделать все это из действия, как я думал?

Спасибо, Майки.


person Michael Giovanni Pumo    schedule 22.08.2013    source источник
comment
Похоже, мне просто нужно было очистить и перезагрузить CFWheels, что странно, так как в действии все работало нормально. Хм.   -  person Michael Giovanni Pumo    schedule 22.08.2013
comment
Я думаю, вам не нужно layout=false. Кроме того, у вас есть вызов provides() в методе init() вашего контроллера?   -  person Chris Peters    schedule 23.08.2013
comment
@ChrisPeters По какой-то причине мне понадобился макет false ... У меня есть Provides () в инициализации. Проблема заключалась в том, что я не передал аргумент format=json. Это уладило дело. Спасибо!   -  person Michael Giovanni Pumo    schedule 23.08.2013


Ответы (1)


Только что пришло мне в голову, вы передаете Format = JSON в своем вызове ajax? В противном случае контроллер не вернет JSON.

person osekmedia    schedule 15.10.2013