尝试在解析 JS API 中创建新用户时的最大调用堆栈错误

Maximum Call Stack error when trying to make new user in Parse JS API

本文关键字:用户 错误 堆栈 调用 JS API 新用户 创建      更新时间:2023-09-26

我对Parse API以及一般的服务器端js完全陌生。我正在尝试编写一个简单的函数来注册一个新用户,当单击相应的表单提交按钮时。我注释掉了所有在表单中提取数据的jquery,只是让函数尝试使用硬代码用户名和密码进行注册。我也拿出了我的应用程序密钥,但它们在原文中是正确的。这是显示 js 链接。

<head>
    <meta charset="utf-8">
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>SitWith - Great Conversations. No Pressure.</title>
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="../css/custom.css">
    <link rel="stylesheet" href="../css/home.css">
    <link href='http://fonts.googleapis.com/css?family=Raleway:500,200' rel='stylesheet' type='text/css'>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.3.2.min.js"></script>
    <script src="../js/bootstrap.js"></script>
    <script>
    </script>
    <script src="../js/sitwith.js"></script>
</head>

这是javascript文件。

Parse.initialize("App Key", 
  "JS Key");
$('#register').click(function(){
/*    var registerFName = $('#registerFName').val();
    var registerLName = $('#registerLName').val();
    var registerUsername = $('#registerUsername').val();
    var registerEmail = $('#registerEmail').val();
    var resisterPassword = $('#registerPassword').val();*/
  var user = new Parse.User();
  user.set("username", "MyName");
  user.set("password", "MyPassword");
  /*user.set("email", registerEmail);
  user.set("FName", registerFName);
  user.set("LName", registerLName);*/

  user.signUp(null, {
    success: function(user) {
      // Hooray! Let them use the app now.
      console.log("User created");
    },
    error: function(user, error) {
      // Show the error message somewhere and let the user try again.
      alert("Error: " + error.code + " " + error.message);
    }
  });
});

这是控制台错误:

parse-1.3.2.min.js:1 未捕获范围错误:超出最大调用堆栈大小

就像我说的,我对所有这些都很陌生,但在任何地方都找不到描述 Parse 这个确切问题的线程。任何帮助将不胜感激。

根据 Parse 文档,signUp is a static method Parse.User 上,所以它的称呼应该略有不同。您还需要通过用户名和密码进行注册。

应按如下方式使用

Parse.User.signUp(username, password, {}, {
        success: function (user) {
            alert("Yay!");
        },
        error: function (user, error) {
            alert("Error: " + error.code + " " + error.message);
        }
    });

您得到的错误也是

Uncaught RangeError: Maximum call stack size exceeded

仅当 , 方法无限调用自身时,才会引发此错误,在这种情况下,堆栈会过载并引发此异常。