刚开始使用Parse.com并关注他们JavaScript ToDo app tutorial并遇到一些问题。
基本上,当我只有用户名和密码时,它会完美地工作并发布到Parse数据库,但如果我尝试添加任何其他字段,如电子邮件或电话,它将不会将其发送到数据库。我已经在Parse数据库中定义了电子邮件和电话字段。
任何帮助将不胜感激。谢谢!
我的表单的HTML:
<script type="text/template" id="login-template">
<header id="header"></header>
<form class="signup-form">
<h2>Sign Up</h2>
<div class="error" style="display:none"></div>
<input type="text" id="signup-username" placeholder="Username" />
<input type="password" id="signup-password" placeholder="Create a Password" />
<input type="email" id="signup-email" placeholder="Email" />
<input type="text" id="signup-phone" placeholder="Phone" />
<button>Sign Up</button>
</form>
</div>
</script>
我的JS:
var LogInView = Parse.View.extend({
events: {
"submit form.signup-form": "signUp"
},
el: ".content",
initialize: function() {
_.bindAll(this, "signUp");
this.render();
},
signUp: function(e) {
var self = this;
var username = this.$("#signup-username").val();
var password = this.$("#signup-password").val();
var email = this.$("#signup-email").val();
var phone = this.$("#signup-phone").val();
Parse.User.signUp(username, password, email, phone, { ACL: new Parse.ACL() }, {
success: function(user) {
new ManageTodosView();
self.undelegateEvents();
delete self;
},
error: function(user, error) {
self.$(".signup-form .error").html(error.message).show();
self.$(".signup-form button").removeAttr("disabled");
}
});
this.$(".signup-form button").attr("disabled", "disabled");
return false;
},
render: function() {
this.$el.html(_.template($("#login-template").html()));
this.delegateEvents();
}
});
答案 0 :(得分:1)
您应该使用以下语法,例如javascript docs(https://parse.com/docs/js_guide)中指定的语法:
var user = new Parse.User();
user.set("username",username);
user.set("password",password);
user.set("email",email);
user.set("phone",phone);
user.signUp(null,{
success:function(user){...},
error:function(user,error){...}
});
您可以使用set方法添加所需的任何字段。
答案 1 :(得分:0)
我必须更改<!--<button>Submit</button>--> to <!--<input type="submit"></input>-->
以使其工作,但之后就可以了。谢谢。