使用解析使用解析来注册用户,没有失败

时间:2014-02-16 13:26:45

标签: javascript parsing debugging

我有一个注册表单,其中包含Firstname,lastname,email,class和college major字段,我正在尝试将表单中的信息发送到解析用户对象。当我在“user.signup”设置断点时,代码会逐步完成,我看到新用户出现在我的解析仪表板中。但是,如果我删除断点并提交表单,我会收到错误:

  

“错误:100 XMLHttpRequest失败:   { “状态文本”: “”, “状态”:0, “响应”: “”, “的responseType”: “”, “responseXML的”:NULL, “responseText的”: “”, “上载”:{ “ontimeout”:空, “onprogress”:空, “onloadstart”:空, “onloadend”:空 “的onload”:空 “的onerror”:空, “onabort”:空}, “withCredentials”:假 “的readyState”:4 , “超时”:0, “ontimeout”:NULL, “onprogress”:NULL, “onloadstart”:NULL, “onloadend”:空 “的onload”:空 “的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();">

我是如何存储值的?我不明白某些东西可以用断点但不能没有。任何帮助都非常感谢!

3 个答案:

答案 0 :(得分:3)

这是从异步方法中返回值的典型问题......这是不可能的。

阻止默认提交表单,然后在回调函数中明确提交。

答案 1 :(得分:1)

还有另一种方法可以解决这个问题:

而不是form class="form-signup" role="form" id="signup-form" onsubmit="SignUp()"

中的表单

写div,即div class="form-signup" role="form" id="signup-form" onsubmit="SignUp()"

答案 2 :(得分:0)

如上所述,只需在功能开头 document.getElementById(“your-form-id”)添加 e.preventDefault(); ).submit(); 或者在这种情况下只是 form.submit(); (因为它在前面的脚本中由 var form 定义)进入成功回调,它应该工作!我认为我会加入一些清晰度来强化CBroe的答案,因为没有指明form.submit函数的确切含义。