跨域ajax响应失败

时间:2009-07-02 10:40:06

标签: ajax json twitter cross-domain

好的......所以我现在已经用这片鳕鱼扭动了很长一段时间......

首先我使用了这个有效的代码......


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

'+data.rank+'

'); } });});

在此代码中(它可以工作)data.json包含以下格式的JSON数据:

{ “USER_ID”: “3190399”, “USER_NAME”: “Anand_Dasgupta” “followers_current”: “86”, “日期date_updated”: “2009-06-04”, “URL”: “”, “阿凡达”: “205659924 / DSC09920_normal.JPG” “follow_days”: “0”, “started_followers”: “86”, “growth_since”:0, “average_growth”: “0”, “明天”: “86”, “next_month”: “86”, “followers_yesterday”: “86”, “等级”:176184, “followers_2w_ago”:空, “growth_since_2w”:86, “average_growth_2w”: “6”, “tomorrow_2w”: “92”, “next_month_2w”: “266”, “followersperdate”:[] }

此数据来自网址:

http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3 (单击URL以获取数据)

但是当我用$ .ajax函数中的data.json替换包含相同数据的URL时,下面的代码似乎不起作用......


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

'); } });});

我之前已经在StackOverflow上提出了这个问题,并且回答是这是一个跨域问题。

所以我读到了跨域ajax请求,这是我提出的代码:


$(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(); }); });

但即便看起来也没有用。

如果有人可以提供任何帮助,那么我们将深表感谢。 我已经给出了完整的代码,以便任何人都可以自己测试它。

谢谢 阿南德

1 个答案:

答案 0 :(得分:1)

您必须查看相关网站是否支持JSONP

您还必须在ajax调用集'jsonp'中使用dataType选项,并指定正确的回调参数。