我正在使用 Parse 中的数据模块。我正在使用 HTML 创建电子邮件表单。我使用 Javascript 获取表单数据(电子邮件),然后从电子邮件地址生成用户名。然后,此信息将保存到 Parse 数据库中。
这是 HTML 表单代码:
<form method="post" class="center">
<input id="email" name="email" type="email" placeholder="Type your email to create a Mail Link" />
<button id="submit" onclick="formSubmit();">Create</button>
</form>
这是 JavaScript:
function formSubmit() {
var emailValue = document.getElementById("email").value;
var userValue = emailValue.substr(0, emailValue.indexOf('@'));
Parse.initialize("---KEY---", "---KEY---");
var Users = Parse.Object.extend("Users");
var users = new Users();
users.save({username: userValue}).then(function(object) {
alert("Saved user");
});
users.save({email: emailValue}).then(function(object) {
alert("Saved email");
});
}
问题是控制台显示值已保存,但数据未保存到 Parse 中。
任何想法将不胜感激!
最佳答案
可以使按钮成为一个简单的按钮,无需像您提到的链接中提到的那样将按钮更改为按钮,您的代码将正常工作。
您在保存用户数据后编写了 .then() 方法,但实际上它是在 promise 完成时调用来运行回调的。
但是这里您使用的是简单的 Parse.Object,因此您必须使用 Parse.Promise,或者如果您只想在以下情况下仅使用简单的 Parse.Object:-
users.save({
username: "Jake Cutter"
}, {
success: function(userObject) {
alert('The save was successful');
},
error: function(userObject, error) {
// The save failed. Error is an instance of Parse.Error.
// Do something if you want to do on error
}
});
详细信息您可以查看:- https://www.parse.com/docs/js/symbols/Parse.Object.html#save https://www.parse.com/docs/js/symbols/Parse.Promise.html#then
关于javascript - 解析数据和 Javascript/HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24580429/