2011-02-22 77 views
0

問候,最近我有這個代碼工作。加載Jquery的後,我做的事:json調用jquery getScript問題

function twitterCallback2(twitters) { 
var statusHTML = []; 
for (var i=0; i<twitters.length; i++){ 
var username = twitters[i].user.screen_name; 
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { 
    return '<a href="'+url+'">'+url+'</a>'; 
}).replace(/\[email protected]([_a-z0-9]+)/ig, function(reply) { 
    return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>'; 
}); 
statusHTML.push('<li><span>'+status+'</span> <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li>'); 
} 
    if(document.getElementById('twitter_update_list').length>0) 
    document.getElementById('twitter_update_list').innerHTML = statusHTML.join(''); 
} 

function relative_time(time_value) { 
var values = time_value.split(" "); 
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; 
var parsed_date = Date.parse(time_value); 
var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); 
var delta = parseInt((relative_to.getTime() - parsed_date)/1000); 
delta = delta + (relative_to.getTimezoneOffset() * 60); 

if (delta < 60) { 
    return 'Hace menos de un minuto'; 
} else if(delta < 120) { 
    return 'hace un minuto'; 
} else if(delta < (60*60)) { 
    return "Hace "+(parseInt(delta/60)).toString() + ' minutos'; 
} else if(delta < (120*60)) { 
    return 'Hace una hora'; 
} else if(delta < (24*60*60)) { 
    return 'Hace ' + (parseInt(delta/3600)).toString() + ' horas'; 
} else if(delta < (48*60*60)) { 
    return 'Hace un día'; 
} else { 
    return "Hace "+ (parseInt(delta/86400)).toString() + ' días'; 
    } 
} 

$.getScript("https://twitter.com/statuses/user_timeline/buscocarro.json?callback=twitterCallback2&count=10", function(){}); 

直到前幾天就停止工作,且谷歌瀏覽器控制檯說:

資源解釋爲腳本,但與MIME類型的應用程序轉移/ JSON。

你們誰都可以告訴我發生了什麼事以及如何解決? 非常感謝

+0

因爲javascript不允許跨域調用,所以無法執行Ajax調用 –

+0

當瀏覽器和遠程站點都支持['CORS'(跨源數據源)共享)](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)。 – hippietrail

回答

0

你可以嘗試使用標準的AJAX調用。

$.ajax({ 
    url: 'https://twitter.com/statuses/user_timeline/buscocarro.json?count=10', 
    success: twitterCallback2 
}); 

這會做同樣的事情,但不會將該文件加載爲腳本。

+2

是的,但你不能做跨域Ajax請求。 –