解析服务器查询对象未返回结果

问题描述 投票:0回答:2

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

我从myLogin调用getTickets()函数,这是通过单击按钮来调用的。在getTickets()中进行的最终console.log()调用将显示“结果:”,而不会显示其他任何内容。

顺便说一句,getTickets()函数以Parse文档中的examples为模型。

感谢您的帮助。

这是我的代码:

    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-platform
2个回答
0
投票

我找到了答案。我不明白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;
    }

0
投票

我有一些小事情要改变:

© www.soinside.com 2019 - 2024. All rights reserved.