从服务器获取数据并显示

时间:2013-09-24 18:03:20

标签: javascript sql json

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

我可以从.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"
          }
        }

1 个答案:

答案 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().