1

我一直在关注本教程http://tinyurl.com/327p325,它一直很棒,直到我无法让他的代码工作。我得到了与静态项目一起使用的列表,但我无法让它与 json 项目一起使用。我试图用我真正想要它做的事情来简化它,以尝试调试问题所在(如果有人能告诉我如何查看很棒的 Mojo 日志)

在教程中,他必须使用 yahoo 服务将站点转换为 json 数据,而我要与之交互的站点已经生成了 json 数据,所以这就是我所拥有的


PageAssistant.prototype.setup = function() {
this.myListModel = { items : [] };
this.myListAttr = { itemTemplate: "page/itemTemplate", renderLimit: 20, }; this.controller.setupWidget("MyList",this.myListAttr,this.myListModel); this.controller.setupWidget("search_divSpinner", { spinnerSize : "large" }, { spinning: true } ); };
PageAssistant.prototype.activate = function(event) { this.getData(); };
PageAssistant.prototype.getData = function () { // the spinner doesn't show up at all $("search_divScrim").show();
var url = "http://www.website.com/.json";
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"); }, }); }

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

this.myListModel["items"] = newData;
this.controller.modelChanged(this.myListModel , this);

$("search_divScrim").hide(); }

所以我评论说我相信我错了我只是想从这个 json 数据中得到标题

{
    种类:清单
    数据: {
        孩子们: [
            {
                种类:食物
                数据: {
                    作者:食主
                    隐藏:假
                    标题:你应该吃这个
                }
            },
            // 然后用 kind: 和 data 重复

有人看到我哪里出错了吗?我想知道如何查看日志,因为我有日志事件,但不知道在哪里查看是否有任何事件被抛出。

4

1 回答 1

1

如果您想查看 Mojo 日志,请打开终端(或您正在使用的任何命令行界面)并键入palm-log com.example.app,将 com.example.app 替换为您在 appinfo.json 文件中定义的应用程序 ID。

您可能必须palm-log --system-log-level info在此之前输入,以降低日志级别并查看每个日志(默认情况下,您只能看到由 Mojo.Log.error 生成的日志)

于 2011-01-26T16:14:41.497 回答