gpt4 book ai didi

javascript - 主干网不随 REST 请求发送属性

转载 作者:行者123 更新时间:2023-11-28 09:21:48 25 4
gpt4 key购买 nike

我目前正在开发一个 Backbone 应用程序,您必须指定访客姓名才能进入。

  Guest = Backbone.Model.extend({

urlRoot : ftd.settings.rest + '/guest',

defaults: {
name : '',
},

validate: function( attr ) {
var errors = [];
if(attr.name.length < 4) {
errors.push({message : "You nickname, must be atleast 4 chars", name : 'guestNickname'});
}

if(errors.length > 0) {
return errors;
}
}
});

return Guest;

因此,在我的首页上,用户设置用户名,并实例化一个新的 guest ,这是我处理 guest 创建的首页 View 。

createGuest: function( ev ) {
ev.preventDefault();
// Get nickname.
var guest = new Guest();
guest.bind( 'error', function( model, errors ) {
_.each( errors, function( err ) {
$('input[name=' + err.name + ']').addClass('invalid');
// add a meesage somewhere, using err.message
}, this );
});
guest.save({'name' : $('input[name="guestNickname"]').val()}, {
success:function(model, response) {
console.log('Successfully saved!');
},
error: function(model, error) {
console.log(model);
console.log(error.error());
}
});
},

我的问题是,当backbone发出请求时,它发送一个没有指定名称的OPTIONS请求,我什至在Wireshark中检查了数据包,我做错了什么?

额外问题:为什么 Backbone 会发送 OPTIONS 请求?

最佳答案

显然,Backbone(或者实际上是您的浏览器)在主干保存期间发送 OPTIONS 请求,但会产生副作用,因为它尝试模拟“真正的”REST(包括 PUT 和 DELETE 请求),并且并非所有服务器都支持这些命令。

根据此:

http://backbonejs.org/#Sync-emulateHTTP

如果你设置

Backbone.emulateHTTP = true;

然后它会尝试 POST。

关于javascript - 主干网不随 REST 请求发送属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com