我有以下骨幹模型。骨幹PUT請求跨域不追加URL到URL
var aModel = Backbone.Model.extend({
url: 'http://api.site1.com/list
});
modelObj = new aModel();
域名我申請的是product.site1.com
,讓我的應用程序服務器所做的所有請求都是跨域請求。
我所有的骨幹請求的API需要共同的頭,所以我寫了下面的骨幹同步方法
var sync = Backbone.sync;
Backbone.sync = function(method, model, options) {
options.beforeSend = function (xhr) {
xhr.setRequestHeader('key1', 'ABCD');
xhr.setRequestHeader('key2', 'EFGH');
};
sync(method, model, options);
};
當我執行fetch方法如下面
modelObj.fetch();
我的應用程序發出OPTIONS請求到api.site1.com/list
該請求成功後,它向GET請求api.site1.com/list
對於POST也是如此。
當我在提取前執行 modelObj.save({name: "abc"})
時,我的應用程序向api.site1.com/list
發送OPTIONS請求,成功時它執行POST請求。
,當我做了更新,即PUT然而,
我期待骨幹附加標識的url,像api.site1.com/list/1
和執行OPTIONS請求
但是,當我檢查我的開發工具,選項請求時到api.site1.com/list
。成功時,它將PUT請求傳送到api.site1.com/list
而不是api.site1.com/list/1
爲什麼會發生這種情況以及如何處理這種情況?