I checked out the Spry Ajax Framework a bit more over the weekend. Really cool stuff. I have to figure out how to traverse down the XML a little more with the same request. I thought a good start with doing a REST request to my Amazon wishlist.
View Demo
First I started with a proxy for the request:
$URL = 'http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&Version=2006-06-07&AWSAccessKeyId=[MYAPIKEY]';
if($_GET['ProductPage']!='')
$ProductPage=$_GET['ProductPage'];
else
$_GET['ProductPage'] = 1;
$ch = curl_init($URL.'&Operation=ListLookup&ListType=WishList&ListId=1BZUD8ZOIEA62&Sort=DateAdded&ResponseGroup=ItemAttributes,ListInfo,Images&ProductPage='.$ProductPage);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
Then I created the Spry page:
<!--Spry libraries-->
<script src="/js/widgets/accordion/SpryAccordion.js" type="text/javascript"></script>
<link href="/js/widgets/accordion/SpryAccordion.css" rel="stylesheet" type="text/css" />
<script src="/js/includes/SpryDOMUtils.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" src="/js/includes/xpath.js"></script>
<script type="text/javascript" src="/js/includes/SpryData.js"></script>
<!--Create a data set object-->
<script type="text/javascript">
var ProductPage = 1;
var dsAmazonWishList = new Spry.Data.XMLDataSet("/exec_code/proxy.php?ProductPage="+ProductPage, "ListLookupResponse/Lists/List/ListItem/Item/ItemAttributes");
</script>
<style type="text/css" media="screen">
body{ font-family: Monaco;
}
.AccordionPanelTab{
font-size:10px;
font-weight:heavy;
}
.AccordionPanelContent{
font-size:9px;
}
</style>
<div id="MainRegion" spry:region="dsAmazonWishList">
<div id="accord1" class="Accordion" tabindex="0">
<div spry:repeat="dsAmazonWishList" class="AccordionPanel">
<div class="AccordionPanelTab" >{Title}</div>
<div class="AccordionPanelContent">Publisher: {Publisher}<br/>
<span spry:if='"{Brand}" != "{Publisher}";'>Brand: {Brand}<br/></span>
<span spry:if='"{UPC}".search(/./) != -1;'>UPC: {UPC}<br/></span>
<span spry:if='"{Warranty}".search(/./) != -1;'>Warranty: {Warranty}</span>
<br>{Format}
</div>
</div>
</div>
<script type="text/javascript">
var a1 = new Spry.Widget.Accordion("accord1");
</script>
</div>
Tags: Ajax, Programming // Add Comment »