1

这是我的代码:

 initHomeFeed: function(options) {
  $.get('/feed_items', {}, function(data) {
      console.log("Y U NO COME HERE")
      console.log("hello");
      Feed.feed_items_html = data.feed_items_html_array;
      Feed.pseudo_feed_items_html = data.pseudo_feed_items_html_array
      console.log(ordered_arr);
    }, "json");

  console.log("makehtml was called by inithomefeed")
  Feed.makeHomeHTML();

“makehtml was called by inithomefeed”会打印到控制台,makeHomeHTML 函数中的控制台日志也是如此。但是,get 函数内的任何控制台日志都没有显示。我怎样才能使它不跳过get功能?

4

2 回答 2

6

它没有跳过该get功能。该get函数是async,因此在客户端收到响应之前不会执行回调。如果请求没有任何问题,控制台日志将被打印出来。

如果您不确定为什么或请求是否成功,您可以检查 chrome 的开发人员工具中的网络选项卡,或某种 http 代理工具(如 fiddler)来查看错误是什么。

于 2013-06-07T20:36:22.560 回答
0

如果你还想执行代码

console.log("makehtml was call

在服务器调用之后,您可以使用异步设置为 false 的 jQuery ajax。

按照如何让 jQuery 执行同步而不是异步的 Ajax 请求中的示例?

但这有其自身的缺点。

于 2013-06-07T20:41:34.567 回答