私はこのチュートリアル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データからタイトルを取得しようとしているだけです
{ 種類:出品 データ: { 子供: [ { 種類:食べ物 データ: { 作者:フードマスター 非表示: false タイトル:これは食べたほうがいい } }、 // その後、kind: と data で繰り返されます
私がどこで間違ったのか誰にもわかりますか?ログイベントがあるので、ログを表示する方法を知りたいのですが、それらのいずれかがスローされているかどうかを確認する場所がわかりません。