JSONP无法使用来自API的结果

时间:2019-02-15 02:28:54

标签: jquery json ajax jsonp

我正在尝试运行此ajax请求以获取一堆项目并至少记录它们:

enter image description here

在控制台中,项目显示为未定义:

enter image description here

但是在“网络”标签中,我可以看到我试图从API调用的项目:

enter image description here

我很困惑,因为没有触发错误或成功功能。

src代码:

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
    <link rel="stylesheet" type="text/css" href="css/fontawesome-free-5.6.3-web/css/all.css">
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="./css/main.css">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>

</body>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>


<script>
    console.log("alive");

      $.ajax({
                type: "GET",
                url: "http://127.0.0.1:3000/api/stories?callback=items",
                dataType: 'jsonp',
                jsonpCallback: 'items',
                jsonp: 'callback',
                success: function(data) {
                    var strData = JSON.stringify(data);
                    console.log(strData);
                },
          error: function(xhr,status,error) {
                    console.log(status);
                    console.log(error);
          }
      });


    console.log(items());

    </script>
</html>

2 个答案:

答案 0 :(得分:0)

尝试dataType:JSON  您的API返回的是JSON,而不是JSONP。

答案 1 :(得分:0)

您有跨域问题吗?而您想尝试使用jsonp吗?