Как получить контроллер / модель / магазин / вид в Ajax callback - PullRequest
0 голосов
/ 09 сентября 2011

люди,

Я работаю над проектом, использующим инфраструктуру EXTJS MVC для разработки бэкэнда.

Теперь у меня проблемы с получением контроллера / модели / хранилища в обратном вызове Ajax

Вот фрагмент моего кода.Я нахожусь в контроллере для вызова Ajax.

Ext.Ajax.request({
    url: 'http://localhost:8080/gdltest/gdl_service.cgi',
    jsonData: jRequest,
    method: 'POST',     
    success: function (response,options) {
        var jsonData = Ext.JSON.decode(response.responseText);
        var jData = jsonData.results.data;

Когда я получаю данные из ответа, я хочу, чтобы контроллер / модель / хранилище выполняли больше действий, но я не знаю, как это сделать.получить их: (

Большое спасибо за вашу помощь:)

1 Ответ

2 голосов
/ 09 сентября 2011

То, что вы сделали в функции success, правильно. Пожалуйста, проверьте ответ, который вы получаете с сервера. Кроме того, url правильно? Обычно указывается относительный путь к ресурсу, а не абсолютный путь, как вы указали здесь. Достигнут ли запрос на сервере? Если это так, я думаю, что есть проблема с данными, которые отправляются обратно. Вам также следует использовать опцию safe во время разработки. Опция safe выдает ошибку, если Json, возвращенный с сервера, имеет неправильный формат. Из документов:

decode( String json, [Boolean safe] ) 

safe: возвращать ли null или генерировать исключение, если JSON недействительный.

РЕДАКТИРОВАТЬ : Если вы хотите использовать оператор this в обратном вызове успеха, укажите конфигурацию scope. Пример ниже:

 Ext.Ajax.request({
        url: 'http://localhost:8080/gdltest/gdl_service.cgi',
        jsonData: jRequest,
        method: 'POST',     
        success: function (response,options) {
            var jsonData = Ext.JSON.decode(response.responseText);
            var jData = jsonData.results.data;
       },
       scope : this //this will be the object form which the Ajax.request is called, and not Ajax.request itself or you can specify any other object you desire.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...