1

我是网络编程的初学者,我需要像在社交网络中一样创建更改密码的功能。我是第一次做,不知道怎么做。我不知道如何创建架构。我在用户端使用backbone.js,我将创建 userModel(这是主干模型)。在服务器端我使用Java。我有一个想法:向 UserClass(这是 java 类)添加名为的新字段

@JsonIgnore
String oldPassword;

@JsonIgnore
String newPassword;

JsonIgnore使字段在用户端不可见。我将从用户端发送带有userModel的字段,所以我检查服务器端。我想,这个想法并不好。如果您知道任何方法,请告诉我!

编辑

我知道如何制作html-form。我不知道如何将文件发送到服务器。如果我这样做:

var val1 // old_pass
var val2 // new_pass
this.model.save({password: val1,new_password: val2});

然后model密码改成val1,不正确,用户侧不要设置密码,因为用户侧没有model密码

4

1 回答 1

2

我不知道您的服务器身份验证过程是如何工作的,但也许您可以尝试这样的事情。创建一个带有user model内部的新视图以编辑用户属性。在该视图内呈现一个显示用户属性(包括密码)的表单。在表单上,​​用户将能够更改他的信息。有一个名为“保存”或类似的按钮来存储更改。单击按钮时,创建一个从表单中获取值并使用模型save方法的函数。此方法使 Backbone 将 PUT 命令运行回服务器。在服务器上,您应该能够处理此请求并更改密码。您可以编写一个非常简单的函数来保存视图中的更改,如下所示:

changePassword = function() {
 var attributes;
 attributes = {
  password: $('#password').val(),
  confirm_password: $('#confirm_password').val()
 };
 this.model.save(attributes);
};

此函数将创建一个填充密码字段的属性对象,然后将其发送回服务器。如果您想进一步了解该save方法的工作原理,您应该查看Backbone 文档。希望这可以帮助!

于 2013-02-28T12:54:25.503 回答