我创建了一个非常简单的rest API,并遵循另一篇文章中的示例:HERE 我对我的API进行了ajax调用,但是由于某种原因,我未定义为响应。我认为我在通话中做错了事。
这是电话:
$( document ).ready(function() {
FetchData();
});
function FetchData() {
$.ajax({
async: false,
type: "GET",
url: "http://austinwjones.com/radio/gunsmoke/read.php",
dataType: "json",
success: function(data, textStatus, jqXHR) {
$.each(data, function(i, object) {
console.log(data.records.epi);
});
},
error: function() {
}
});
}
直接转到我的API Here,您可以看到结果。我怀疑我的问题出在这部分吗?
success: function(data, textStatus, jqXHR) {
$.each(data, function(i, object) {
console.log(data.records.epi);
});
感谢您的帮助。
答案 0 :(得分:1)
这是另一种解决方案,它带有烘烤的Promise,简单的jQuery / JSON解决方案。
function getJSON() {
return new Promise((resolve, reject) => {
jQuery
.getJSON('http://austinwjones.com/radio/gunsmoke/read.php')
.then((data) => {
jQuery.each(data.records, (i, record) => {
console.log(record);
return resolve(record);
})
});
});
}
getJSON()
.then((records) => {
console.log(records);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这样,一旦获取所有内容,便可以获取并显示。
答案 1 :(得分:0)
您应该将其更改为:
for (var i = 0; i < data.records.length; i++) {
console.log( data.records[i].epi );
}
因为记录是一个数组。