J'essaye de construire une entrée jQuery autocomplete. J'ai un formulaire qui contient une entrée, et je veux que l'autocomplétion fonctionne avec l'API de Yelp pour compléter automatiquement les noms des restaurants. quand je lance la page et tapez quoi que ce soit dans la zone de texte d'entrée, rien ne se passeQuel est le problème avec mon code JS/jQuery?
voici mon code:
<html>
<body>
<input id="restaurantSearch" />
<pre>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="http://oauth.googlecode.com/svn/code/javascript/oauth.js"></script>
<script type="text/javascript" src="http://oauth.googlecode.com/svn/code/javascript/sha1.js"></script>
<script type="text/javascript" src="https://github.com/jamespadolsey/prettyPrint.js/raw/master/prettyprint.js"></script>
<script>
$(document.ready(function() {
$('#restaurantSearch').autocomplete({
alert(req);
source: function(req, add){
var auth = {
//
// Update with your auth tokens
//
consumerKey: "xxx",
consumerSecret: "xxx",
accessToken: "xxx-xxx",
accessTokenSecret: "xxx",
serviceProvider: {
signatureMethod: "HMAC-SHA1"
}
};
var terms = req;
var near = 'San+Francisco';
var accessor = {
consumerSecret: auth.consumerSecret,
tokenSecret: auth.accessTokenSecret
};
parameters = [];
parameters.push(['term', terms]);
parameters.push(['location', near]);
parameters.push(['callback', 'cb']);
parameters.push(['oauth_consumer_key', auth.consumerKey]);
parameters.push(['oauth_consumer_secret', auth.consumerSecret]);
parameters.push(['oauth_token', auth.accessToken]);
parameters.push(['oauth_signature_method', 'HMAC-SHA1']);
var message = {
'action': 'http://api.yelp.com/v2/search',
'method': 'GET',
'parameters': parameters
};
OAuth.setTimestampAndNonce(message);
OAuth.SignatureMethod.sign(message, accessor);
var parameterMap = OAuth.getParameterMap(message.parameters);
console.log(parameterMap);
$.ajax({
'url': message.action,
'data': parameterMap,
'dataType': 'jsonp',
'jsonpCallback': 'cb',
'success': function(data, textStats, XMLHttpRequest) {
console.log(data);
var output = prettyPrint(data);
$("body").append(output);
}
});
});
</script>
</body>
</html>
'
Avez-vous essayé d'utiliser FireBug pour résoudre le problème? –