2013-03-27 45 views
0

我想调用API并以XML格式获得结果 我的当前代码如下所示。 当我直接提供XML文件,然后我的代码按预期方式运行,但是当我提到API url以获得相同的XML时,则没有错误,但调用API不会发生。不从API调用获取xml

我想用AJAX我当前的代码来做到这一点是如下:

<script type="text/javascript"> 
var searchq = $("#txtTag").val(); 
var twitpicURL = 'http://twitpic.com/show/thumb/'; 
$(document).ready(function() { 
    $("#btnGetData").click(function() { 
     $.ajax({ 
      type: "GET", 
      /* define url of xml file to parse */ 
      //url: "show.xml", 
      url: "http://api.twitpic.com/2/tags/show.xml?tag=" + searchq, 
      dataType: "xml", 
      success: parseXml 
     }); 
    }); 

    function parseXml(xml) 
    /* this is where the xml file is parsed and converted into a HTML output */ 
    { 
     alert(xml); 
     //for each item node in the xml file 
     var html = ''; 
     $(xml).find("image").each(function() { 
      var imageId = $(this).find("short_id").text(); 
      var imagesrc = twitpicURL + imageId; 

      html += '<tr class="menu_item">'; 
      html += '<td class="h-menu">' + "<img src='" + imagesrc + "'/>" + '</td>'; 
      html += '<td class="h-menu">'; 
      html += '<div>' + $(this).find("id").text() + '</div>'; 
      html += '<div>' + $(this).find("short_id").text() + '</div>'; 
      html += '<div>' + $(this).find("type").text() + '</div>'; 
      html += '<div>' + $(this).find("timestamp").text() + '</div>'; 
      html += '<div>' + $(this).find("message").text() + '</div>'; 
      html += '</td>'; 
      html += '</tr>'; 

     }); 
     $('#tblTwitpic').append($(html)); 
     //end for each 
     //end function 
    } 
    //$("#tweets").append("</table>"); 
}); 

我的HTML看起来象下面这样:

<body> 
<input id="btnGetData" type="button" value="Twitter Get Tweets" /> 
<input type="text" id="txtTag" /> 
<div id="tweets"> 
<table id="tblTwitpic" border='1'></table> 
</div> 

我不是得到任何错误,但没有发生对这个API的调用。

在此先感谢; 阿布舍克A.夏尔马

回答

0
url: "http://api.twitpic.com/2/tags/show.xml?tag=" + searchq, 

只是改变了输出.XML到JSONP。 仍然我不知道为什么这不解析xml的对象。