我需要通过从数据库中提取来在我的页面上显示评论。
我可以从.json文件中获取虚拟测试数据,但是当我尝试将其与数据库url连接时,它无法获取数据。
我正在使用js handlebar模板来循环html页面中的数据。
这是我的js来计算数据
var getData = function () {
console.group("getData()", "Fetching data from server at", R.settings.endPoints.incoming.getData);
var promise = $.ajax({
url: R.settings.endPoints.incoming.getData
});
console.log("getData()", "Returing the promise", { promise: promise });
console.groupEnd();
return promise;
};
DB url设置为.getdata,如下所示
endPoints: {
incoming: {
getData: "http://localhost:8080/rest/review/getReview"
},
outgoing: {
sendData: "http://localhost:8080/rest/review/createReview"
}
}
答案 0 :(得分:0)
jQuery的$.ajax函数默认是异步的,因此您需要将处理/显示代码放入deferred.done方法中,如下所示:
var promise;
$.ajax({
url: R.settings.endPoints.incoming.getData
})
.done(function( msg ) {
console.log(msg);
promise = msg;
});
但是,如果要执行同步请求,请执行以下操作:
var promise = $.ajax({
url: R.settings.endPoints.incoming.getData,
async: false
});
请注意,根据官方文档:
As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated;
you must use the success/error/complete callback options instead of the
corresponding methods of the jqXHR object such as jqXHR.done() or the
deprecated jqXHR.success().