このところ平均睡眠時間が4時間を切っているので今日は手短に。勤務先で別のシステムについてもEmberを使えないか?という話が出てきまして。ただ、問題はそのシステムはAPIがすべてRESTというかXML。
しかしEmber DataさんはもうXMLの欠片もない世界。公式APIを隅から隅まで見ても、やっぱりできません。
が。
需要あれば供給あり。見つけました。
さっそく試してみたのですが…エンベロープなどXMLの書式が違うのか、エンドポイント間で通信はできるものの取得したXMLをmodelに入れても表示できない…というか変換できねーよエラーになってしまいます。
で。
こうなったらjQueryでXMLを取得して、それをJsonに変換すりゃあいいんじゃね?と思ってググってみたら…ありました。
やっぱりみんな困っているのね。もちろん、今更XMLなんて使いたくないんだけどレガシー対応とかいろいろあるからしょうがない。
ということで、上記ページで教えてもらったコード、ばっちり動きます。良かった良かった。
念のためですが、xml2jsonにはjQueryのプラグインを使ってください。同じ名前の他のライブラリ等だと動きません(ハマりました)。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
App.EpisodesRoute = Ember.Route.extend({ | |
model: function () { | |
var url = server + '/library/metadata/1955/children'; | |
return Ember.$.get(url).then(function (xml) { | |
var json = $.xml2json(xml); | |
//console.log(JSON.stringify(json)); | |
return json.Video; | |
}); | |
}, | |
setupController: function(controller, model) { | |
controller.set('model', model); | |
//console.log(JSON.stringify(model)); | |
}, | |
}) |
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。