JQuery を使用して XML ファイルを取得しています。XML ファイルは、JQuery で渡されたパラメーターに基づいて動的に生成されます (PHP)。たとえば、3 つの ID (この例では 0ZJB001、5YH043、9TQ987) に関する情報を要求します。返された XML ファイルには、要求された ID と見つかった項目のリストが含まれています。次に、これらの値に応じてスパンの内容を変更しています。要求されたよりも少ないアイテムが返される場合を除いて、これは正常に機能しています。したがって、3 つのアイテムが要求され、2 つだけが返された場合、JQuery each ステートメントは 2 回だけ実行されます。代わりに、ItemId ごとに実行し、対応する ASIN アイテムから詳細を取得するか、デフォルトの詳細で更新する必要があります。
サンプルの XML ファイル形式 (正確ではありません。簡略化されています):
<ItemLookupResponse>
<Items>
<Request>
<ItemLookupRequest>
<ItemId>0ZJB001</ItemId>
<ItemId>5YH043</ItemId>
<ItemId>9TQ987</ItemId>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
</Request>
<Item>
<ASIN>0ZJB001</ASIN>
<OfferSummary>
<TotalNew>0</TotalNew>
<TotalUsed>0</TotalUsed>
<TotalCollectible>0</TotalCollectible>
<TotalRefurbished>0</TotalRefurbished>
</OfferSummary>
</Item>
<Item>
<ASIN>9TQ987</ASIN>
<OfferSummary>
<LowestNewPrice>
<Amount>1000</Amount>
<CurrencyCode>USD</CurrencyCode>
<FormattedPrice>$10.00</FormattedPrice>
</LowestNewPrice>
<TotalNew>1</TotalNew>
<TotalUsed>0</TotalUsed>
<TotalCollectible>0</TotalCollectible>
<TotalRefurbished>0</TotalRefurbished>
</OfferSummary>
</Item>
</Items>
</ItemLookupResponse>
したがって、最終結果は(「疑似コード」で)次のようになります。
foreach(Items) {
if(exists ItemId && ASIN) {
//update span with price
} else {
//update span with default text
}
}