【问题标题】:I can't retrieve data from my api link with ajax我无法使用 ajax 从我的 api 链接中检索数据
【发布时间】:2013-06-20 12:36:04
【问题描述】:

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

【问题讨论】:

  • 您是否尝试在服务器端获取日志?
  • 是否调用了服务器端?

标签: jquery ajax


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您应该创建一个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

    【讨论】:

    • 我按照 Rohan Kumar 的说法尝试,我在控制台中遇到了这个错误“SyntaxError: invalid label {"status":1,"movies":[{"id":1,"name":"伊尔玛克罗纳","电影院":["
    • 您能否将mubi-app.herokuapp.com/api/v1/home 页面上的key name status 更改为 mystatus,如果可以,请执行此操作并检查。
    猜你喜欢
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 2019-07-17
    • 2012-10-07
    • 2020-05-16
    • 2018-02-10
    • 1970-01-01
    相关资源
    最近更新 更多