我无法从我的api链接中使用ajax检索数据

时间:2013-06-24 04:38:16

标签: jquery ajax

在我从链接(http://mubi-app.herokuapp.com/api/v1/home)检索数据之前,我用浏览器测试一下,没关系。它返回Json格式,但是当我使用ajax访问该链接时出现错误。 谢谢,

这是我的代码.....

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
  $.ajax({
    type:"GET"
    , url:"http://mubi-app.herokuapp.com/api/v1/home"
    , dataType:"jsonp"
    , success: function(data){
        debugger;

        $('#result').text(data)

    } 
   , error: function(e) {
       debugger;
       console.log(e)
       alert(e + "Error");
       }
    });
});

</script>

2 个答案:

答案 0 :(得分:1)

由于这是一个跨域请求,您正在尝试使用jsonp请求,但为此,服务器需要支持它。在这种情况下,似乎并非如此。

所以我认为不可能创建对所述API的浏览器端调用。

一种可能的解决方案是为所述API编写服务器端包装器,可以在服务器端将请求委托给所述API。

答案 1 :(得分:0)

您应该创建一个jsonpcallback function来解决您的问题,例如

$(document).ready(function() {
  $.ajax({
    type:"GET"
    , url:"http://mubi-app.herokuapp.com/api/v1/home"
    , dataType:"jsonp",
    jsonpCallback: "localJsonpCallback",
     success: function(data){
        debugger;

        $('#result').text(data)

    } 
   , error: function(e) {
       debugger;
       console.log(e)
       alert(e + "Error");
       }
    });
});

function localJsonpCallback(json) {
    console.log(json);
}

阅读http://api.jquery.com/jquery.ajax/

请参阅this