Pergunta

Ok ... assim ive se esquivar com este pedaço de bacalhau por um bom tempo agora ...

primeira eu usei este código que funcionou ...


$(document).ready(function() {
$('#content').html('');
$.ajax({
        url:'data.json',
        dataType: "json",
        success: function(data) {
                $('#content').append('

'+data.rank+'

'); } });});

Neste código (funciona) data.json contém os dados JSON neste formato:

{ "User_id": "3190399", "User_name": "Anand_Dasgupta", "Followers_current": "86", "Date_updated": "2009-06-04", "Url": "", "Avatar": "205659924 / DSC09920_normal.JPG", "follow_days": "0", "started_followers": "86", "Growth_since": 0, "Average_growth": "0", "Amanhã": "86", "Next_month": "86", "Followers_yesterday": "86", "Rank": 176.184, "Followers_2w_ago": null, "Growth_since_2w": 86, "Average_growth_2w": "6", "Tomorrow_2w": "92", "Next_month_2w": "266", "Followersperdate": [] }

Esta informação vem da URL:

http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results = 3 (Clique no URL para obter os dados)

Mas quando eu substituir data.json na função de $ .ajax com o URL que contém os mesmos dados, este código abaixo não parece trabalho ...


$(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('

'+data.rank+'

'); } });});

Eu tinha anteriormente colocar esta questão para trás em StackOverflow e as respostas foram que este é um problema de domínio cruzado.

Assim que eu li sobre o pedido ajax domínio cruzado e este é o código que eu vim acima com:


$(document).ready(function() {                      
    $('form#search').bind("submit", function(e){                            
            e.preventDefault();
            $('#content').html('');

// Define the callback function
  function get(jsonData) {     
     $('#content').append('

'+jsonData.rank+'

'); bObj.removeScriptTag(); } // The web service call var req = 'http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3&callback=get'; // Create a new request object bObj = new JSONscriptRequest(req); // Build the dynamic script tag bObj.buildScriptTag(); // Add the script tag to the page bObj.addScriptTag(); }); });

Mas mesmo não parece estar funcionando.

Se alguém pode fornecer alguma ajuda, então ele será muito apreciado. Eu dei todo o código para que qualquer pessoa pode testar por si próprios se querem.

Obrigado Anand

Foi útil?

Solução

Você tem que ver se o site em questão apoiam JSONP .

Você também tem que usar o href="http://docs.jquery.com/Ajax/jQuery.ajax#options" rel="nofollow noreferrer"> opção no seu conjunto de chamada ajax para 'jsonp', bem como especificar o argumento de retorno de chamada correta.

scroll top