我正在创建一个网站,我使用Parse与用户建立联系。问题是我无法注册用户。错误说:“改变对象的[[Prototype]]会导致代码运行得非常慢;而是使用Object.create创建具有正确的初始[[Prototype]]值的对象”。感谢所有帮助。
<!doctype html>
<head>
<meta charset="utf-8">
<title>Sign up</title>
<meta name="description" content="My Parse App">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type ="text/css" href="style.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-latest.js"></script>
<script src="//www.parsecdn.com/js/parse-1.6.14.min.js"></script>
</head>
<body>
<form name="signup">
Username: <input type="text" name="username"/>
Password: <input type="password" name="password"/>
Mail: <input type="text" name="mail"/>
<input type="submit" value="Submit!"/>
</form>
<script type="text/javascript">
Parse.initialize("app-id", "js-key");
$("#signup").submit(function(event){
event.preventDefault
var name = document.signup.elements[0].value;
var pass = document.signup.elements[1].value;
var mail = document.signup.elements[2].value;
var user = new Parse.User();
user.set("username", name);
user.set("password", pass);
user.set("email", mail);
user.signUp(null, {
success: function(user) {
console.log("New user signed up successfully!")
},
error: function(user, error) {
alert("Error: " + error.code + "" + error.message);
}
});
});
</script>
</body>
</html>
答案 0 :(得分:2)
更改
<script src="//www.parsecdn.com/js/parse-1.6.14.min.js"></script>
到
<script src="http://www.parsecdn.com/js/parse-1.6.14.min.js"></script>
它应该工作。
当您切换到服务器环境时,可以将其更改回&#39; //&#39;为了涵盖http和https。
答案 1 :(得分:0)
根据RFC 3986,以//
开头的网址利用了网络路径引用。
如果您的网页被加载到https
,则浏览器会尝试通过https
引入脚本,如果超过http
,则浏览器会将其引入http
}。
问题是您是从file://
而不是从服务器打开此页面。
因此,相对引用意味着浏览器尝试将脚本置于file:
之上,显然,它不会找到它。因此它会报告“未找到”错误。
只需指定协议(http
或https
),它应该可以正常工作。
event.preventDefault
是一种方法,你应该使用()
来调用它。