JSON и WebOS простой пример? - PullRequest
       7

JSON и WebOS простой пример?

1 голос
/ 30 декабря 2010

Я следовал этому уроку http://tinyurl.com/327p325, который был БОЛЬШИМ до того момента, когда я не могу заставить его код работать.Я получаю список, работающий со статическими элементами, но не могу заставить его работать с элементами json.Я попытался упростить это с тем, что я действительно хочу сделать, чтобы попытаться отладить что-то не так (также, если кто-то мог бы сказать мне, как просмотреть журнал Mojo, который был бы удивительным)он должен использовать сервис Yahoo для преобразования сайта в данные JSON, в то время как на сайте, с которым я хочу взаимодействовать, уже созданы данные JSON, поэтому у меня есть

<code>
PageAssistant.prototype.setup = function() {<br>
    this.myListModel = { items : [] };<br>
    this.myListAttr = {
        itemTemplate: "page/itemTemplate", 
        renderLimit: 20,
    };
    this.controller.setupWidget("MyList",this.myListAttr,this.myListModel); 
    this.controller.setupWidget("search_divSpinner", { spinnerSize : "large" }, { spinning: true } );
};<br>
PageAssistant.prototype.activate = function(event) {
    this.getData();
};<br>
PageAssistant.prototype.getData = function () {
       // the spinner doesn't show up at all
    $("search_divScrim").show();<br>
    var url = "http://www.website.com/.json";<br>
    var request = new Ajax.Request(url, {
        method: 'get',
        asynchronous: true, 
        evalJSON: "false",
        onSuccess: this.parseResult.bind(this),
    on0: function (ajaxResponse) {
            // connection failed, typically because the server is overloaded or has gone down since the page loaded
            Mojo.Log.error("Connection failed");
            },
    onFailure: function(response) {
            // Request failed (404, that sort of thing)
            Mojo.Log.error("Request failed");
            },
    onException: function(request, ex) {
            // An exception was thrown
            Mojo.Log.error("Exception");
            },
    });
}</p>

<p>PageAssistant.prototype.parseResult = function (transport){
    var newData = [];<br>
    var theStuff=transport.responseText;<br>
    try {
        var json = theStuff.evalJSON();
    }
    catch(e) {
        Mojo.Log.error(e);
    }<br>
        // this is where I believe I am wrong<br>
    for (j=0;j < json.data.count;j++) {<br>
        var thread=json.data.children[j];
        newData[j] = {
            title: thread.data.author
        };
    }</p>

<p>this.myListModel["items"] = newData;<br>
  this.controller.modelChanged(this.myListModel , this);   </p>

<p>$("search_divScrim").hide(); 
}

Итак, где я прокомментировал, что считаю себя неправым, я просто пытаюсь получить название из этих данных json

{
    kind: Listing
    data: {
        children: [
            {
                kind: food
                data: {
                    author: Foodmaster
                    hidden: false
                    title: You should eat this 
                }
            },
            // then it repeats with the kind: and data

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

1 Ответ

1 голос
/ 26 января 2011

Если вы хотите просмотреть журналы Mojo, откройте терминал (или любой интерфейс командной строки, который вы используете) и введите palm-log com.example.app, заменив com.example.app идентификатором приложения, который вы определили в файле appinfo.json.

Возможно, вам придется набрать palm-log --system-log-level info до этого, чтобы понизить уровень журнала и просмотреть все журналы (по умолчанию вы видите только те, которые сгенерированы Mojo.Log.error)

...