$ .ajax lavora con il file e non con l'URL?
Domanda
nella funzione $ .ajax la parte dell'URL ha data.json che è un file di testo ma voglio inserire un url, ad esempio
il codice funziona con
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'data.json',
dataType: "json",
success: function(data) {
$('#content').append('<p>'+data.rank+'</p>');
}
});});
dove data.json è un file di testo ... ma quando sostituisco 'data.json' con ' http://twittercounter.com/api/username=Anand_Dasgupta&output=json&results = 3 '... che è l'URL effettivo, quindi non c'è output ...
$(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 consiglio sarà molto apprezzato. Grazie.
Soluzione
Come ha sottolineato correttamente @ harshath.jr, sarà necessario delegare tale richiesta tramite il proprio dominio, ad esempio:
$('#content').html('');
$.ajax({
url:'twitterProxy.php?username=Anand_Dasgupta&results=3',
dataType: "json",
success: function(data) {
$('#content').append('<p>'+data.rank+'</p>');
}
});});
Altri suggerimenti
Questo sembra essere un caso di prevenzione ajax tra domini.
Per questo dovrai usare uno script proxy lato server.
l'utilizzo di $ .getJSON dovrebbe risolvere tutte le tue preoccupazioni. E ti chiamerà domani mattina.
Sembra che tu abbia un refuso nell'URL, il punto interrogativo è significativo poiché differenzia l'URL dai parametri:
http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3
Per quanto mi riguarda sembra che manchi qualche altro parametro.
EDIT:
Le risposte che seguono sembrano più corrette delle mie, sicuramente potrebbe essere l'accesso interdominio.