1

我是 JavaScript 新手。我曾在 Twitter API 上工作过。在 twitter API 中,我使用 jQuery.ajax 函数从 twitter 服务器获取 json 数据。但是当我对谷歌地图服务器使用相同的选项时,我的应用程序在进入 jQuery.ajax 的那一刻没有给出任何响应。我尝试使用 jslint 对其进行调试,但结果很干净。我使用警报进行调试,当它进入 jQuery.ajax 函数时它会停止。检索数据的方法是否因来源而异?如果不是,为什么我的代码没有响应?

Twitter运行功能::

 var twitterapi = "http://search.twitter.com/search.json?";
          jQuery.ajax(
          {
             type: "GET",
             url: twitterapi,
             data: 
              {
                "q": hashtag,
                 "rpp": 1000
              },
              dataType: 'jsonp'
          }).done(function (response) 
             {
                var results = response.results;
                for (var i = 0; i < results.length; i++) 
                 {

                    $("#tweet").prepend("<li class='tweet'>" +
                    "<img src='" + 
                    results[i].profile_image_url + 
                    "'/>" + 
                    "<span class='username'>" +
                    results[i].from_user +
                    "</span> <span class='tweet_content'> " +
                    results[i].text + 
                    "</span></li>");
                  }
              });

我的谷歌地图 API(不工作)

    var j = 2;
var friends = [];
var distance =[];

$(document).ready(function () {

     alert("function started");
    $('#button').click(function () {
        if (j < 11) {
            $('#friends').append('Friend' + j + ':<input type="text" id="friend' + j + '"/><br/><br/>');
            j++;
        }
        else {
            alert("Limit reached");
        }
    });



   $('button').click(function(){
   var a =[];
   alert("button clickede");
    for(i=1;i<=j;i++)
     {
        a[i] = $("#friend" + i).val();
      }     


    var gurl = "http://maps.googleapis.com/maps/api/distancematrix/json?"+
        "origins=" +
        a.join('|').replace(/ /g,'+') +
        "&destinations=" +
        a.join('|').replace(/ /g,'+') +
        "&sensor=false";

           alert("making request to" +gurl);
            jQuery.ajax(
          {
             type: "GET",
             url: gurl,
             dataType: 'jsonp'
          }).done(function (response) 
           {
           alert("request made to"+gurl);

           var rows = response.rows;        
             alert(row[0].elements[0].value);

       for(var i=0;i<rows.length;i++)
         {
             for(var j=0;j<elements.length;j++)
              {
                       distance[i][j] = row[i].elements[j].distance.value;
              } 
          }


            alert(distance[0][0]);
        }); 

     });


});
4

1 回答 1

0

我不知道你遇到了什么错误,所以我帮不上什么忙。

但是您发布的代码存在三个问题:

1- 由于 a 未定义,我无法通过前两行。

2-删除代码中的 a 调用,然后引发语法错误。我通过删除最后一个 }); 线。

3- 它发出了请求,但又抛出了另一个错误(可能是因为 URL 格式错误)。

于 2013-01-24T04:59:53.460 回答