$ .ajax travaillant avec le fichier et pas l’url?
Question
dans la fonction $ .ajax, la partie url a data.json qui est un fichier texte mais je veux mettre une url c.-à-d.
le code fonctionne avec
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'data.json',
dataType: "json",
success: function(data) {
$('#content').append('<p>'+data.rank+'</p>');
}
});});
où data.json est un fichier texte ... mais quand je remplace "data.json" par http://twittercounter.com/api/username=Anand_Dasgupta&output=json& = 3 '... qui est l'URL réelle, alors il n'y a pas de sortie ...
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'http://twittercounter.com/api/username=Anand_Dasgupta&output=json&results=3',
dataType: "json",
success: function(data) {
$('#content').append('<p>'+data.rank+'</p>');
}
});});
un conseil sera très apprécié. Merci.
La solution
Comme @ harshath.jr l’a correctement souligné, vous devez créer un proxy pour cette demande via votre domaine, par exemple:
$('#content').html('');
$.ajax({
url:'twitterProxy.php?username=Anand_Dasgupta&results=3',
dataType: "json",
success: function(data) {
$('#content').append('<p>'+data.rank+'</p>');
}
});});
Autres conseils
Cela semble être un cas de prévention ajax entre domaines.
Vous devrez utiliser un script proxy côté serveur pour cela.
utiliser $ .getJSON devrait résoudre tous vos problèmes. Et ça vous appellera demain matin.
On dirait que vous avez une faute de frappe dans l'URL, le point d'interrogation est significatif puisqu'il différencie l'URL des paramètres:
http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3
En ce qui me concerne, il semble qu'il manque encore quelques paramètres.
EDIT:
Les réponses ci-dessous semblent plus correctes que les miennes, cela pourrait certainement être un accès interdomaine.