0

在我从我的链接(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>
4

2 回答 2

1

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

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

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

于 2013-06-24T04:40:22.910 回答
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/

看到这个

于 2013-06-24T04:49:22.843 回答