我使用在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文件。 –