Javascript 来自 Parse.com 的查询响应

Javascript query response from Parse.com

我正在通过 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

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 中查看作为响应返回的内容。

在 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!"}

虽然我同意上面的回答,即 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

虽然 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.
  }
});

}