我使用在parse.com上创建的数据库在本地测试一些函数,并且函数完全按照预期运行。我现在正在尝试将这些函数放在云代码上,以减少发送到解析的请求数量,并在云代码而不是本地运行查询。无论出于何种原因,当我将它们转换为云代码时,我无法让这些函数正常工作。另外,如何在HTML中创建一个可以在云代码中运行功能的按钮?Parse.com将云代码添加到html按钮
云代码之前,我的HTML按钮是这样的:
<button type="button" onclick="authenticate()">Log-In</button>
我将如何创建云代码按钮,看起来像这样:
Parse.Cloud.define("authenticate()", function(request, response) {
var myname = document.getElementById("username").value;
var mypass = document.getElementById("psswd").value;
Parse.User.logIn(myname, mypass, {
success: function(user) {
// Do stuff after successful login.
if(myname == "test1" || myname == "test2"){
window.location.href="itSplash.html";
}
else{
window.location.href="ticketRequest.html";
}
},
error: function(user, error) {
// The login failed. Check error to see why.
alert("Failed to login: " + error.message);
}
});
});
澄清,如果语句只是指导如果用户名匹配test1或test2,则登录到它;如果其他任何人匹配ticketRequest,则登录到它。我们为不同的用户提供了单独的页面。此外,如果将该函数创建为普通函数authenticate(),则该函数将在本地工作。当我将它转换为云代码时,如上所示,它不会工作。我在里面创建了一个带有Parse.Cloud.run调用的独立函数名称runAuthenticate(),它不会在那里工作。我得到的只是一个错误,说定义不能在该对象上使用。任何帮助?
您是否检查过错误日志,看看它告诉您的是未定义的,并且您是否试图从curl运行云功能? – Wain
我在调试器模式下运行代码。从我可以告诉它甚至不会运行任何功能,所以一切都还没有定义。在它运行任何东西之前,它会在Parse.Cloud.define部分抛出一个错误,指出沿着“定义不能用在这个对象上”的东西。我测试了Parse.com上提供的示例hello world云代码,它工作正常,但有关上面的代码不起作用。我从字面上复制并粘贴从我用来在本地运行它的js文件。 –