我正在尝试运行此ajax请求以获取一堆项目并至少记录它们:
在控制台中,项目显示为未定义:
但是在“网络”标签中,我可以看到我试图从API调用的项目:
我很困惑,因为没有触发错误或成功功能。
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>
答案 0 :(得分:0)
尝试dataType:JSON 您的API返回的是JSON,而不是JSONP。
答案 1 :(得分:0)
您有跨域问题吗?而您想尝试使用jsonp吗?