当前用户在 parse.com [JavaScript]
currentuser in parse.com [javascript]
我已经尝试了很多版本,只是不知道答案。我已经查看了文档,但没有足够的知识来正确处理它。我正在尝试让用户使用解析登录网站。我可以让用户登录,但无法保留当前用户数据。 一旦您返回,用户必须再次登录。 我知道您可以使用当前用户,但我无法让它工作。
$(function() {
Parse.$ = jQuery;
// Replace this line with the one on your Quickstart Guide Page
Parse.initialize("parseID",
"javascriptID");
init();
});
function init()
{
currentUser = Parse.User.current();
loginStatus();
} // init
function loginStatus()
{
// var currentUser = Parse.User.current();
if (currentUser) {
// do stuff with the user
new blogs();
} else {
// show the signup or login page
new LoginView();
// }
LoginView = Parse.View.extend({
template: Handlebars.compile($('#login-tpl').html()),
events: {
'submit .form-signin': 'login'
},
login: function(e) {
// Prevent Default Submit Event
e.preventDefault();
// Get data from the form and put them into variables
var data = $(e.target).serializeArray(),
username = data[0].value,
password = data[1].value;
// Call Parse Login function with those variables
Parse.User.logIn(username, password, {
// If the username and password matches
success: function() {
blogs();
},
// If there is an error
error: function(user, error) {
console.log(error);
}
});
},
render: function(){
this.$el.html(this.template());
}
});
function blogs() {
// var user = Parse.User.current();
var Blog = Parse.Object.extend("Post");
var Blogs = Parse.Collection.extend({
model: Blog,
query: (new Parse.Query(Blog)).equalTo("author", Parse.User.current())
});
var BlogsView = Parse.View.extend({
template: Handlebars.compile($('#blogs-tpl').html()),
render: function(){
var collection = { blog: this.collection.toJSON() };
this.$el.html(this.template(collection));
}
});
var blogs = new Blogs();
blogs.fetch({
success: function(blogs) {
var blogsView = new BlogsView({ collection: blogs });
blogsView.render();
$('.main-container').html(blogsView.el);
}
})
};
// Render login view on page
// var loginView = new LoginView();
// loginView.render();
// $('.main-container').html(loginView.el);
尝试将当前用户变量设置为全局变量。 currentUser 变量的值当前停留在 init() 函数的范围内。一旦你移动到loginStatus()函数,currentUser变量就会被重置。
尝试在给定的代码之前实例化变量,如下所示。
//instantiate on the global scope
var currentUser;
$(function() {
Parse.$ = jQuery;
// Replace this line with the one on your Quickstart Guide Page
Parse.initialize("parseID", "javascriptID");
loginStatus();
});
function loginStatus() {
currentUser = Parse.User.current();
if(currentUser){
newBlogs();
}else{
new LoginView();
}
}
....
相关文章:
- http://oauth.googlecode.com/svn/code/javascript/oauth.js已关闭,
- 如何使用Parse.com JavaScript SDK上传图像
- Roles - Parse.com Javascript
- 使用 JavaScript Regex 将“First.Last@example.com”变成“flast”
- 为什么Coderbyte.com's的Javascript模板喜欢返回函数的原始参数
- 是否有使用Javascript的Parse.com下拉选项
- 我的regex可以在regex101.com沙箱中工作,但不能在实际的javascript中工作
- 如何使用Meteor.com检测JavaScript是否被禁用
- parse.com javascript地理查询api中的withinFile错误
- 我试图从这个网站获得标题(http://www.itslaw.com),它是通过JavaScript加载的
- Parse.com-在JavaScript SDK中模板化集合时检索图像URL
- 用javascript在getmoju.com等移动轮调上更改图像
- Javascript/jQuery:确定给定URL的域:“youtube.com”或“vimeo.com”
- 如何使用带有Autohotkey的COM访问Javascript数组
- 当前用户在 parse.com [JavaScript]
- 所有的javascript都 ajax.aspnetcdn.com/ajax/ 坏了?打破所有外部引用?自周五以来
- parse.com - 我如何仅使用 javascript 创建等于 createdAt 日期的查询
- Parse.com 日期问题使用javascript
- 如何使用 javascript for http request 使用 .com url.
- 使用 javascript 将文件上传到 parse.com