我定义了以下Backbone模型:
var User = Backbone.Model.extend({
url: "/login",
contentType: "application/com.example.auth+json",
defaults: {
userName: '',
password: ''
},
validate: function(attrs){
if(!attrs.userName){
return 'Please fill username field.'
}
if(!attrs.password){
return 'Please fill password field.'
}
}
});
Run Code Online (Sandbox Code Playgroud)
我在Backbone.View中使用以下代码
// ...
initialize: function() {
this.model = new User();
myUser = {
userName: 'labuser1@example.com',
password: 'abcd_1234',
};
}
onSubmit: function() {
this.model.save(myUser, {
success: function () {
alert('You are authenticated');
Backbone.trigger('Authenticated', {source: 'LOGIN'});
},
error: function (model, error) {
alert('Error: " + error);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我从后端收到以下响应,没有响应数据只发送状态代码返回:
Request URL : https://server/login
Request Method:POST
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)
但我得到'错误:[对象对象]'打印.尽管服务器成功验证了用户,但为什么它没有达到成功处理程序.如果需要,请告知如何在前端/后端修复此问题.
小智 11
您可以使用此代码dataType: 'text'来修复它
...
this.model.save(myUser, {
dataType: 'text',
success: function () {
...
Run Code Online (Sandbox Code Playgroud)
或通过将正确的Content-type标头设置为application/json值来修复服务器端.
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |