Backbone.js 仅在Safari中保存400错误
我正在主干模型上调用Backbone.js 仅在Safari中保存400错误,backbone.js,http-status-code-400,Backbone.js,Http Status Code 400,我正在主干模型上调用save()。除了Safari和iOS上的Safari之外,我尝试过的每个浏览器的每个版本都可以使用它 在这两种浏览器中,调用失败,然后以400错误请求击中服务器。 调用看起来像。/common/User/ 我的用户型号如下: Backbone.Model.extend({ idAttribute: "UserId", initialize: function() { }, url: function () { var b
save()
。除了Safari和iOS上的Safari之外,我尝试过的每个浏览器的每个版本都可以使用它
在这两种浏览器中,调用失败,然后以400错误请求击中服务器。
调用看起来像。/common/User/
我的用户
型号如下:
Backbone.Model.extend({
idAttribute: "UserId",
initialize: function() {
},
url: function () {
var base = 'common/User/';
return (this.isNew()) ? base : base + this.id;
},...
{"BrowserType":"Safari","BrowserVersion":5.1,"ApplicationPath":"index"}
我试图保存的信息如下所示:
Backbone.Model.extend({
idAttribute: "UserId",
initialize: function() {
},
url: function () {
var base = 'common/User/';
return (this.isNew()) ? base : base + this.id;
},...
{"BrowserType":"Safari","BrowserVersion":5.1,"ApplicationPath":"index"}
我不知道我还能提供什么其他信息来帮助你
你知道为什么会这样吗
编辑
请求标头如下所示:
Accept:application/json, text/javascript, */*; q=0.01
Content-Type:application/json
Origin:http://localhost:1087
Referer:http://localhost:1087/index.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
X-Requested-With:XMLHttpRequest
更新User
model的url
方法以包含尾部斜杠:
url: function () {
var base = 'common/User/';
return (this.isNew()) ? base : base + this.id + "/";
},
在我的主干项目中,我遇到了同样的问题——在Safari和Mobile Safari中,对特定型号的所有POST
/PUT
/补丁的请求都失败了,尽管我在其他浏览器中没有问题。正如建议的那样,在我的模型的url
方法中添加一个尾随斜杠解决了这个问题。如果打开Webinspector,请求的url在标题中是什么?本地。。。最后用斜杠。。。(我不知道如何在这里逃避)无法复制错误。你能发布完整的请求标题吗?你用什么服务器?