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