【问题标题】:Javascript query response from Parse.com来自 Parse.com 的 Javascript 查询响应
【发布时间】:2015-08-31 07:43:30
【问题描述】:

我正在通过如下 Javascript 函数从 Parse.com 进行查询。

function doFunction () {
var query = new Parse.Query("english");
query.find({
  success: function(results) {
    alert (results)
  },
  error: function(error) {
    // error is an instance of Parse.Error.
  }
});
}

虽然我可以通过提醒 results.length 来查看查询响应的长度,但我无法获得结果中的内容。 alert(results) 只显示 [object Object],[object Object]...

响应格式是什么,是 JSON 还是数组?如何获取值?

谢谢

【问题讨论】:

  • 使用console.log()查看回复
  • alert() 无法打印出复杂的对象,只能打印出原始数据,例如数字或字符串。

标签: javascript json parse-platform response


【解决方案1】:

在您的代码中使用console.log

function doFunction () {
var query = new Parse.Query("english");
query.find({
  success: function(results) {
    console.log(results);
  },
  error: function(error) {
    // error is an instance of Parse.Error.
  }
});
}

然后在 Developer Tools(F12) -> Console 中查看作为响应返回的内容。

【讨论】:

    【解决方案2】:

    在 javascript 中,您可以使用 console.log 检查对象。
    console.log 非常灵活。它可以采用 n 参数和每种类型。
    因此,您可以混合使用逗号分隔的字符串和对象。

    var myTestObject = { testString: "Hello World!" };
    console.log("This is my test Object:", myTestObject);
    //Output: This is my test Object: Object {testString: "Hello World!"}
    

    【讨论】:

      【解决方案3】:

      虽然我同意上面的答案,即 console.log() 是打印对象的好方法,但还有更好的方法可以做到这一点。此外,我建议您在开发过程中始终在成功和错误块中使用 alert() 函数。

      这是因为您的代码中可能存在向 Parse.com 发出无限次请求的错误。由于 Parse.com 会在您每秒发出一定数量的请求时向您收费,这可能会导致 Parse.com 无意中违反您的意愿向您收费。如果您正在使用 console.log() 并且不小心这样做了,除非您打开控制台,否则您将不会意识到该错误。但是,如果您使用 alert(),每次调用成功或失败时都会提示您,因此您将能够防止此问题。

      此外,您不必使用 console.log() 来查看您的数据。您可以使用以下命令简单地调用返回对象(采用 JSON 格式)的属性:

      query.find({
         success: function(results) {
            alert(results.get("propertyName"));
         },
         // error blocks and result of logic here
      

      【讨论】:

        【解决方案4】:

        虽然 object.id 给出了我需要使用 object.get('ephrase') 来获取其他参数的对象 id。

        function doFunction () {
        var query = new Parse.Query("english");
        query.find({
          success: function(results) {
        
              alert("Successfully retrieved " + results.length + " scores.");
            // Do something with the returned Parse.Object values
            for (var i = 0; i < results.length; i++) {
              var object = results[i];
              alert(object.id + ' - ' + object.get('ephrase'));
            }
        
          },
        
          error: function(error) {
            // error is an instance of Parse.Error.
          }
        });
        
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-21
          • 2020-06-14
          相关资源
          最近更新 更多