[英]Sign up user using parse works with breakpoint, fails without
我有一个注册表单,其中包含“名字”,“姓氏”,“电子邮件”,“课程类别”和“大学专业”字段,我正在尝试将信息从表单发送到解析用户对象。 当我在“ user.signup”处设置断点时,代码会逐步执行,并且我会在解析仪表板上看到新用户。 但是,如果我删除断点并提交表单,则会收到错误消息:
“错误:100 XMLHttpRequest失败:{“ statusText”:“”,“ status”:0,“ response”:“”,“ responseType”:“”,“ responseXML”:null,“ responseText”:“”,“上传“:{” ontimeout“:null,” onprogress“:null,” onloadstart“:null,” onloadend“:null,” onload“:null,” onerror“:null,” onabort“:null},” withCredentials“: false,“ readyState”:4,“超时”:0,“ ontimeout”:null,“ onprogress”:null,“ onloadstart”:null,“ onloadend”:null,“ onload”:null,“ onerror”:null, “ onabort”:null}“
我的javascript文件的代码是:
function SignUp() {
var user = new Parse.User();
var form = document.getElementById("signup-form")
var firstname = form.firstname.value;
var lastname = form.lastname.value;
var email = form.email.value;
var grad = form.grad.value;
var major = form.major.value;
var password = "6789";
user.set("firstname", firstname);
user.set("lastname", lastname);
user.set("email", email);
user.set("username", email);
user.set("grad", grad);
user.set("major", major);
user.set("password", password);
user.signUp(null, {
success: function(user) {
// Hooray! Let them use the app now.
alert("Thank you for signing up. We'll keep you updated!");
},
error: function(user, error) {
// Show the error message somewhere and let the user try again.
alert("Error: " + error.code + " " + error.message);
}
});
return false;
};
在我的html文件中,我在以下位置调用此函数:
<form class="form-signup" role="form" id="signup-form" onsubmit="SignUp();">
我如何存储值是否存在问题? 我不明白某些事情如何与断点一起工作,但并非没有断点。 任何帮助都非常感谢!
这是从异步方法中返回值的典型问题……这是不可能的。
阻止默认提交表单,然后在回调函数中显式提交表单。
还有另一种方法可以解决此问题:
代替form class="form-signup" role="form" id="signup-form" onsubmit="SignUp()"
写div即div class="form-signup" role="form" id="signup-form" onsubmit="SignUp()"
如上所述,只需添加e.preventDefault();即可。 在函数和document.getElementById(“ your-form-id”)。submit();的开头 或者在这种情况下只是form.submit(); (因为它是在脚本前面由var form定义的)进入成功回调 ,它应该可以工作! 我想我会增加一些清晰度,以加强CBroe的答案,因为它没有指定form.submit函数的确切外观。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.