私は、複数のJSONフィードで駆動されるAJAXプロジェクトで作業しています。私は1つのフィードを使用してカテゴリのリストを作成しています。カテゴリのリストは、2番目のフィードから入ってくる記事をフィルタリングします。2つの別々のJSONフィードの値の一致
私の最初のフィードは次のようになります。
value": [
{
"Id": "30b94b5b-06ab-63fa-8375-ff00000b3273",
"Title": "Test article",
"Body": "Test content",
"topics": [
"1ca44b5b-06ab-63fa-8375-ff00000b3273"
],
}, ...
]
最初のフィードはトピックのリストである、第二供給がタグ付けされた記事の集合である:
"value": [
{
"Id": "1ca44b5b-06ab-63fa-8375-ff00000b3273",
"Title": "Safety",
}, ...
]
私の第二のフィードは、このようになりますそれらのトピックによって。私はきれいにフィルタリングするためのGUIDに一致することができますが、問題は、2番目のフィードの制限のために私は記事にタイトルの "安全性"を引き出すことができないということです。私は、主にスタイリングと、ページのURLにタイトルをプッシュするためのさまざまな理由で、このタイトルが必要です。
私はこれをダイナミックにするために、これにアプローチする最善の方法を見つけようとしています。基本的には、最初のフィードに基づいて、2番目のフィードのタイトルにGUIDを関連付ける最良の方法を探したいと思います。
フィード1:
$('.category-filters').each(function(){
var $this = $(this);
$.ajax({
method:"GET",
url: '/api/stories/flat-taxa?$filter=TaxonomyId%20eq%20dca84b5b-06ab-63fa-8375-ff00000b3273',
data: { format:'json'},
context:$this
}).success(function(data){
var category = data.value;
var filter = [];
for (i = 0; i < category.length; i++) {
$this.append('<li><input type="checkbox" id="' + category[i].Id + '"><label for="' + category[i].Id + '">' + category[i].Title + '</label></li>');
}
});
});
フィード2:
function storyCards(){
$.ajax({
method:"GET",
url: url,
data: { format:'json' },
context:$('.story-cards')
}).success(function(data){
var story = data.value;
for (i = 0; i < story.length; i++) {
$('.story-cards').append('<li class="item card-item"><div class="card"><div class="content"><h2>' + story[i].Title + '</h2>' + story[i].Summary + '</div><div class="card-footer"><a class="button" href="' + story[i].UrlName + '">' + story[i].ButtonText + '</a></div></div></li>');
}
});
}
うまくいけば、これは理にかなって、要求された場合にはより多くの詳細を提供して幸せここ
は、私は2つのフィードを引っ張ってる方法です。
良いアプローチのようですが、確かに私が思いついたものです。私の問題はこのシナリオではGUIDとタイトルの両方が難しいコード化される。このクライアントは今後より多くのカテゴリを追加するかもしれないので、私はこのようにvarsを設定することに頼ることはできません。多分私は誤解しているのだろうか? –
編集時にこれを行う方法を示しました。あなたのguid2title dictを設定して、最初にすべてのタイトルを取得してください。その後、記事でそれを参照することができます。 – Blakedallen
これは本当に効率的な夢のように機能しました。ありがとうございました! –