Ошибка возврата объекта JSON с AJAX - PullRequest
2 голосов
/ 22 июня 2011

(знайте, что я использую Kohana 3.1.0, поэтому платформа автоматически маршрутизирует все следующие URL)

Я использую следующее (jQuery) для запроса объекта JSON из index.php /functions / submit

    <script type="text/javascript">
        $(document).ready(function(){
            $("#submit_enemy").submit(function(e){
                e.preventDefault();
                var query = $(this).serialize();
                $.getJSON('http://arflux-rpg.com/game/index.php/functions/submit', query, function(data){
                    if (data.success == true)
                    {
                        $('#messages').HTML("<div style='color: #00CE06;'>Success. Enemy \'" + data.name + "\' created.</div>");
                    }
                    else
                    {
                        $('#messages').HTML("<div style='color: #f00;'>Error: " + data.err + "</div>");
                    }
                });
                $('#messages').show(500).fadeOut(1000);
                $('#form_content').show(500);
            });
        });
    </script>

Когда URL-адрес маршрутизируется, это приводит к следующему PHP-коду:
http://pastie.org/2104063

Что-то мне не хватает?

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Похоже, что ваш сервер не может найти правильный вид для рендеринга:

throw new Kohana_View_Exception('The requested view :file could not be found', array( //etc
0 голосов
/ 28 июня 2011

В функции action_submit вам нужно установить $this->auto_render = false;

Вместо того, чтобы выводить получившийся объект json, вы можете использовать объект ответа: $this->response->body(json_encode($return));

0 голосов
/ 22 июня 2011

Вы расширили контроллер шаблона (Controller_Template), который вызывает исключение, потому что он не может найти файл представления с именем 'template' (по умолчанию).(Я посетил json URL в браузере, чтобы увидеть это)

Переключение на просто расширение Controller должно исправить это.

...