Я следовал этому уроку 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
Кто-нибудь видит, где я ошибся?Я хотел бы знать, как просмотреть журнал, так как у меня есть события журнала, но я не могу понять, где искать, если какие-то из них выбрасываются.