我正在使用 JQuery 来检索 XML 文件。XML 文件是根据使用 JQuery 传递给它的参数动态生成的 (PHP)。例如,我请求三个 ID 的信息(在本例中:0ZJB001、5YH043、9TQ987)。返回的 XML 文件包含请求的 ID 和找到的项目的列表。然后我根据这些值更改跨度内容。我的工作正常,除非退回的物品比要求的少。因此,如果请求了三个项目并且只返回了两个,则 JQuery 每个语句只执行两次。相反,我需要它为每个 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
}
}