我对骨干比较新。我只是想尝试对服务器进行身份验证。
表格
这是移动应用程序客户端表单。
点击登录
单击登录时应将表单凭据,用户名和密码发布到restful api expose。
我的休息服务
我的网络服务是单独托管的。它可以作为访问
http://myservice.com/api/auth.
当我发布
{ "username" : "admin", "password" : "abc" }
如果身份验证成功,则返回
{“id”:1,“username”:“admin”,“password”:“abc”}
如果验证失败则返回
{“message”:“用户名或密码无效。”}
我的尝试
我创建了这样的模型
define(['jquery', 'backbone', 'underscore'], function($, Backbone, _){
var AuthModel = Backbone.Model.extend({
defaults: {
username: "",
password: ""
},
url:"http://myservice.com/api/auth"
});
return AuthModel;
});
我创建了这样的视图:
define([
'jquery',
'backbone',
'underscore',
'models/index-model'],
function($, Backbone, _, AuthModel){
var LoginView = Backbone.View.extend({
model: new AuthModel(),
el: $("#login-form"),
events: {
"click #login": "login"
},
login: function(){
this.model.save({username: this.$el.find("#username"),
password: this.$el.find("#password")}, {
success: function() {
alert('success');
},
error: function() {
alert('fail');
/* handle the error code here */
}
});
}
});
return new LoginView();
});
这总是警告失败。
我的假设
我想我可能在两个地方错了。
一个是我很困惑如何连接到单独托管的服务。
我们通常设置
url:"api/auth"
现在,我正在尝试将其设置为
我在这里错了,如何正确设置它们并且无论如何都没有连接。
或者我认为在保存模型时我对这段代码出错了
this.model.save({username: this.$el.find("#username"),
password: this.$el.find("#password")}, {
success: function() {
alert('success');
},
error: function() {
alert('fail');
/* handle the error code here */
}
});
我想要什么
我想以api期望的形式发布用户名和密码,即{“username”:“something”,“password”:“something”}。然后,如果连接成功,我想转到a.html页面,否则我想提醒错误。
注意:目前我在localhost托管服务并对其进行测试。