Поля JSON в коде - PullRequest
       2

Поля JSON в коде

0 голосов
/ 16 ноября 2011

Мое мобильное приложение Sencha Touch подключается к веб-сервису и получает ответ JSON, я просто не могу понять, что с ним делать.

Вот мой код:

var declineResult =  new Ext.regStore('declineResult', 
{
    model: 'BaseResponse',
        proxy : {
        type : 'ajax',
        dataType: "json",
        url :  App.BaseURL + '/SetJobResponse/' + options.jobId + '/' + STCID +'/1/' + device.uuid,
        reader: new Ext.data.JsonReader ({
           type: 'json'
            })
    },
        listeners: 
        {
            load: function(Field1, Field2, Field3, Field4)
            {
                var myDate = new Date(Field4);

                alert('response message:' + Field1 + ',' + Field2 + ',' + Field3 + ',' + Field4  + ',' + myDate.getDate());                 
            }
        }
});

Ext.StoreMgr.get("declineResult").load();   

Просмотр по URL дает:

{"ErrorMessage":"You are not authorised","ResponseTime":"\/Date(1321447985287)\/","StatusCode":401,"Success":false}

Но что бы я ни делал, я не могу получить ничего осмысленного в предупреждении ().Я пытался преобразовать в различные типы данных, JSON-разбор, getValue () и новую строку (Field1) и все подобные функции под солнцем.все, что я получаю, это [объект объекта] или NaN.Я даже не могу быть уверен, какое поле какое.

Каждый пример в Интернете предполагает, что вы просто подключаете его к сети или что-то в этом роде.Как я опрашиваю эти поля?

Ответы [ 3 ]

1 голос
/ 16 ноября 2011

Стив,

Данные должны быть в формате "{'.....': '.....', '.....': '.....', ....} "парами, разделенными двоеточиями и, все множество, между скобками.Тогда вы можете разобрать JSON.

Удачи.Более подробная информация может помочь нам помочь вам!

0 голосов
/ 17 ноября 2011

Событие загрузки имело другую подпись:

'загрузка': функция (хранить, записи, успешно)

0 голосов
/ 16 ноября 2011

Я не знаю Сенчу и не могу понять, как ваше приложение вообще получает ответ, но, очевидно, так оно и есть, поэтому, если ваше предупреждение дает вам [объект объекта], попробуйте:


alert (Field1.ErrorMessage);

Если это такне работает попробуйте:


var res = JSON.parse(Field1);
alert (res.ErrorMessage);

Если вы не получили ничего разумного от одного из них, то проверьте, что вы получаете какой-то ответ (и в том формате, который вы ожидаете) с помощью веб-инспектора (Safari), Firebug (Firefox) или аналогичный инструмент отладки - еще один путь для изучения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...