扩展Parse.User

时间:2015-08-15 15:46:07

标签: javascript backbone.js parse-platform xmlhttprequest marionette

我正在尝试扩展Parse.User对象,并且在调用基础对象方法时遇到问题,即登录。

所以我有以下代码:

main.models.User = Parse.User.extend({
    className : 'User',
    defaults : {
        objectId : false,
        username : 'anonymous',
        emailVerified : false,
        createdAt : new Date(),
        updatedAt : new Date(),
        firstName : 'Anonymous',
        lastName : 'User'
    },
    name : function() {
        return this.firstName + ' ' + this.lastName;
    }
});

在我的代码的某些方面,我做了:

main.user = new main.models.User();

然后在我的代码中我会尝试这样做:

var $form = $(form);
main.user.logIn($form.find('#txtUserEmail').val(), $form.find('#pwdPassword').val(), {
    success : function() {
        // Hide the modal window 
        main.modal.empty();
    },
    error : function(user, error) {
        // Show Error
        that.ui.errorMsg.toggleClass('hidden').find('span').html('Error: ' + error.code + ' ' + error.message);
    }
});

tl; dr - 问题

登录请求发生但是格式不正确,因为在我的网络选项卡中我看到了XHR,但请求有效负载是整个骨干对象,而不仅仅是我传入登录方法的用户名或密码。我得到了400个不好的请求。

enter image description here

响应是:

code: 201
error: "missing user password"

真实问题

我是否可以扩展Parse.User对象并且能够像使用主Parse对象一样调用基础对象方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

Parse.User的类名是"_User",而不是"User",以避免与名为"User"的常规类发生冲突。您的扩展程序正在覆盖类名称 - 这可能会也可能不会导致此问题。