Javascript jquery html()未设置div内容

Javascript jquery html()未设置div内容,javascript,jquery,html,parse-platform,nosql,Javascript,Jquery,Html,Parse Platform,Nosql,我正在使用Parse.com制作我的第一个应用程序来存储数据库,我正在使用Parse JavaScript SDK来利用这个数据库 我试图从我的一个数据库表中填充一个项目列表,该表包含一个字段,该字段是指向另一个类/表的对象的指针。我需要从这个对象中检索一个字段,以便正确显示信息 然而,Parse似乎要求我从表上的主查询中分别请求这些对象。无论如何,我发出了请求,并有一个成功的回调,它使用jquery的.html()设置一个div的内容,该div由检索对象的id标识 问题是,工作完成后,div将

我正在使用Parse.com制作我的第一个应用程序来存储数据库,我正在使用Parse JavaScript SDK来利用这个数据库

我试图从我的一个数据库表中填充一个项目列表,该表包含一个字段,该字段是指向另一个类/表的对象的指针。我需要从这个对象中检索一个字段,以便正确显示信息

然而,Parse似乎要求我从表上的主查询中分别请求这些对象。无论如何,我发出了请求,并有一个成功的回调,它使用jquery的
.html()
设置一个div的内容,该div由检索对象的id标识

问题是,工作完成后,div将呈现为空。尽管奇怪的是,我尝试使用调用
alert
来获取成功回调中每个div的内容,而且不仅在调用
.html()
之后,而且在调用之前,内容都是正确的。不过,这可能取决于JavaScripts异步函数调用

以下是所讨论的功能:

function updateBudgets() {
  var Budget = Parse.Object.extend("Budget");
  var query = new Parse.Query(Budget);
  query.equalTo("User", Parse.User.current());
  //query.include(["Budget.Category"]); //I tried this to include the category object with the query response, but it didn't seem to work

  query.find({
    success: function(result) {
      var opt = "<h2>Budgets</h2>";
      var category, id;
      for(var i = 0; i < result.length; i++) {
        category = result[i].get("Category");
        category.fetch({
          success: function(cat) {
            alert($('#' + cat.id).html());
            $('#' + cat.id).text(cat.get("Name"));
            alert($('#' + cat.id).html());
          }
        });
        opt += makeBudget(category.id, parseFloat(result[i].get("Amount")/100), result[i].get("Balance"), result[i].id);
      }
      $('#budgets').html(opt);
    }
  });
}
函数updateBudgets(){
var Budget=Parse.Object.extend(“预算”);
var query=新的Parse.query(预算);
query.equalTo(“User”,Parse.User.current());
//query.include([“Budget.Category”]);//我试图在查询响应中包含Category对象,但似乎不起作用
查询.查找({
成功:功能(结果){
var opt=“预算”;
var类别,id;
对于(变量i=0;i
我尝试了文档中似乎建议的方法,在我的查询中使用
.include()
函数,相当于SQL
JOIN
操作,但它似乎根本不起作用

因此,我想知道的是如何调试JavaScript,以便使用
.html()
绕过这种奇怪的行为,或者如何使用Parse正确执行这种
连接
风格的操作。我发现的文档并没有涉及到太多的细节


对于任何帮助,我将非常感激。

< P>请将下面的“测试指南”作为注释而不是回答,因为它只包含一些<代码>控制台。log < /代码>语句,而不是实际问题的答案。

无论如何,以下是我将尝试检查的一些问题:

  • 您是否在查询后收到服务器的答复。查找
  • check是从服务器获取的数据(内部查询)
  • 检查在获取查询之后是否成功接收类别数据
  • 检查是否找到类别id为的元素
  • 为获取和查询添加了错误处理
  • 我还注意到您正在使用方法设置值。我认为只要所讨论的元素不是表单输入元素,它就可以正常工作。如果是这样的话,你可能不得不使用这个方法


    我添加的
    console.log
    测试打印输出可以在此for
    updateBudgets()
    函数中找到。(Fiddle更新)我希望这有帮助:-)

    在设置为html()警报(opt)之前;您得到了什么价值?首先调试您的查询,这个问题可能与
    html()
    方法无关,而更多地与使用响应创建选择器有关
    alert()
    是循环中一个糟糕的调试工具,请使用控制台方法并查看数据,而不要使用。谢谢!使用这些日志,我能够解决我的问题。实际上,我有一个表单,在页面的其他地方有一个选项select,它使用类别ID作为选项的ID。因此,当它按ID选择元素时,它选择了错误的元素。我已经更改了周围的ID,以便更好地使用,这样就不会再发生这种情况。@非常感谢您能够解决此问题:-)