Я тестирую некоторые функции локально, используя мою базу данных, созданную на 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);
}
});
});
для пояснения, что оператор if просто направляет вход в систему itSplash, если имя пользователя соответствует test1 или test2, и ticketRequest, если это кто-то еще. У нас есть отдельная страница для разных пользователей. Кроме того, эта функция работает локально, если я создаю ее как обычную функцию аутентификации(). Когда я преобразовал его в облачный код, как показано выше, он не будет работать. Я создаю отдельную функцию с именем runAuthenticate() с вызовом Parse.Cloud.run внутри нее, и она там не работает. Все, что я получил, это ошибка, говорящая, что определение не может быть использовано для этого объекта. Любая помощь?