0

我需要通过从数据库中获取来在我的页面上显示评论。

我能够从 .json 文件中获取虚拟测试数据,但是当我尝试将其与数据库 url 连接时,它没有获取数据。

我正在使用 js 车把模板来循环 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"
          }
        }
4

1 回答 1

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().
于 2013-09-24T18:12:11.320 回答