Bonjour
je suis un etudiant et jai un tp urgent a faire. ce tp c'est d'integrer le service yahoo api recherch des images a un site via ajax json javascript.
voila mon fichier cote client index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Bienvenu</title>
</style>
<script language="Javascript" src="y.js"></script>
</head><body>
<div>
<input id="tbSearch" type="text"><button id="btn1">Search</button>
<div id="response" class="results">
</div>
</div>
</body></html>
et mon fichier yahoo.js est le suivant
Event.observe( window,'load',requestYahooJson ) ;
function requestYahooJson (event )
{
Event.stop( event ) ;
proxy Request(encodeURIComponent(URI),toDoOnSuccess) ;
}
function proxy Request(url ,toDo ) {
var url="http://search.yahooapis.com/ImageSearchService/V1/imageSearch"
new Ajax.Request ('/proxy ' , {
method : 'get' ,
parameters:'url='+url ,
onFailure : function () {
console.log(" onFailure " );
},
onComplete:function(r) {toDo(r)}
});
}
function toDoOnSuccess(requester) {
try {
var data=requester.responseText.evalJSON ( ) ;
console.log(data.ResultSet.totalResultsAvailable) ;
if(data.ResultSet.totalResultsAvailable==0){
varinfo="Pas de résultats:?(";
}
else{
var info=data.ResultSet.totalResultsAvailable + 'résultats disponibles
('+data.ResultSet.totalResultsReturned+'affichés)';
}
$('info').insert({bottom:info});
data.ResultSet.Result.each(function(r){
var res=newElement('div',{'class':'resultat'});
var link=newElement('a',{href:r.Url})
.update(newElement('img',{alt:r.Title,src:r.Thumbnail.Url,
width:r.Thumbnail.Width,height:r.Thumbnail.Height}));
var title=newElement('p',{'class':'title'}).update(r.Title);
var summary=newElement('p',{'class':'summary'}).update(r.Summary);
Element.insert(res,newElement('hr'));
Element.insert(res,link);
Element.insert(res,title);
Element.insert(res,summary);
$('result').insert(res);
});
}
catch(e){
console.log(e.toString());
}
}
merci d'avance