Parse platform 解析服务器查询对象未返回任何结果

Parse platform 解析服务器查询对象未返回任何结果,parse-platform,Parse Platform,我在查询解析服务器时遇到问题。我通过仪表板创建了一个名为Tickets的类和一行。当我使用curl时,我可以查询并获取行。然而,当我尝试从HTML页面使用JavaScript进行此操作时,结果为零 我从myLogin调用getTickets()函数,该函数通过单击按钮调用。getTickets()中的最后一个console.log()调用打印“Results:”而不打印其他内容 顺便说一句,getTickets()函数是在解析文档中建模的 提前感谢你的帮助 这是我的密码: Parse.i

我在查询解析服务器时遇到问题。我通过仪表板创建了一个名为Tickets的类和一行。当我使用curl时,我可以查询并获取行。然而,当我尝试从HTML页面使用JavaScript进行此操作时,结果为零

我从myLogin调用getTickets()函数,该函数通过单击按钮调用。getTickets()中的最后一个console.log()调用打印“Results:”而不打印其他内容

顺便说一句,getTickets()函数是在解析文档中建模的

提前感谢你的帮助

这是我的密码:

    Parse.initialize("-REDACTED-", "");
    Parse.serverURL = "-REDACTED-";

    function myLogin(uname, psw) {
      var uname = document.getElementById("uname").value;
      var psw = document.getElementById("psw").value;
      const user = Parse.User.logIn(uname, psw);
      var cUser = Parse.User.current();

      if (cUser) {
        console.log(
          "Hey! The login worked!" + " Username: " + cUser.get("username")
        );
        getTickets();
      } else {
        alert("Womp, womp. The login failed.");
      }
    }

    async function getTickets() {
      const Ticket = Parse.Object.extend("Ticket");
      const query = new Parse.Query(Ticket);
      const res = await query.find();
      console.log("Results: " + res);
    }
如果有用,curl调用将返回以下内容:

{"results":[{"objectId":"RuFPxSjigL","user":{"__type":"Pointer","className":"_User","objectId":"uGwwN99EX9"},"createdAt":"2020-01-15T20:47:45.116Z","updatedAt":"2020-01-15T20:48:05.203Z","event":{"__type":"Pointer","className":"Event","objectId":"BdGQSPhK0J"}}]}%

我找到了答案。我不理解Parse.Query.find()返回数组。getTickets()中的console.log()调用表明res未定义,我认为没有返回任何内容。我已经更新了我的代码,使其表现得更好。我是JavaScript新手,如果有任何改进代码或样式的建议,我将不胜感激

    Parse.initialize("imAppId", "");
    Parse.serverURL = "https://www.immedia.co/parse/";

    async function imLogin(uname, psw) {
      var uname = document.getElementById("uname").value;
      var psw = document.getElementById("psw").value;
      var user;
      try {
        user = await Parse.User.logIn(uname, psw);
      } catch (err) {
        alert("Login failed: username or password are not valid: ", err);
      }

      const tix = await getTickets();

      for (let i = 0; i < tix.length; i++) {
        var obj = tix[i];
        console.log(
          "ticket.id: " + obj.id + " with user.id " + obj.get("user")
        );
      }

      async function getTickets() {
      const Ticket = Parse.Object.extend("Ticket");
      const query = new Parse.Query(Ticket);
      var tix = [];
      try {
        tix = await query.find();
        alert("Successfully retrieved " + tix.length + " tickets.");
      } catch (err) {
        console.error("Error getting tickets: ", err);
      }
      return tix;
    }
Parse.initialize(“imAppId”,”);
Parse.serverURL=”https://www.immedia.co/parse/";
异步函数imLogin(uname、psw){
var uname=document.getElementById(“uname”).value;
var psw=document.getElementById(“psw”).value;
var用户;
试一试{
user=wait Parse.user.logIn(uname,psw);
}捕捉(错误){
警报(“登录失败:用户名或密码无效:”,错误);
}
const tix=等待getTickets();
for(设i=0;i
我想改变一些小事情:

Parse.initialize("imAppId", "");
Parse.serverURL = "https://www.immedia.co/parse/";

async function imLogin(uname, psw) {
  const uname = document.getElementById("uname").value;
  const psw = document.getElementById("psw").value;
  let user;
  try {
    user = await Parse.User.logIn(uname, psw);
  } catch (err) {
    alert("Login failed: username or password are not valid: ", err);
    return; // if log in fails, you can't access the user's tickets
  }

  let tix;
  try {
    tix = await getTickets();
    alert("Successfully retrieved " + tix.length + " tickets.");
  } catch (err) {
    console.error("Error getting tickets: ", err);
    return;
  }

  for (const obj of tix) {
    console.log(
      "ticket.id: " + obj.id + " with user.id " + obj.get("user")
    );
  }
}

async function getTickets() {
  const Ticket = Parse.Object.extend("Ticket");
  const query = new Parse.Query(Ticket);
  return await query.find();
}

您可以将
for
循环转换为a。我不会在
getTickets
中发现错误,但会在登录功能中发现错误。如果登录或获取票证失败,
在记录错误后返回
,因为无需其他操作。

请显示您的
curl
调用。此外,请求是否在浏览器的“网络”中成功选项卡?这是curl调用:
curl-H“X-Parse-Application-Id:-编辑-”\https://www.myexample.com/parse/classes/Ticket
是。请求的状态为200,网络选项卡指示返回了262字节。谢谢。顺便说一句,getTickets()上方的登录名调用有效。我不明白是什么解决了您的问题。在执行
之前和之后,请等待新的Parse.Query(Ticket.find())
并将返回值输出到控制台。您是否在第一篇文章中忽略了控制台中的结果?是的。没错。我错过了一个包含查询结果的数组。当我打印它时,日志消息说“undefined”,这让我很失望。