[英]How to properly setup a CORS POST request with Backbone.js
我有一個應用程序,后端托管在與前端不同的服務器上。 后端已經設置為允許來自前端的請求,我們使用jQuery $.ajax
方法通過POST請求確認了這一點。 盡管如此,我真正想做的是在Backbone模型上配置save方法以執行相同或類似的操作,以便它也可以與Backbone一起使用。 這是我現在的代碼:
$.ajax({
type: 'POST',
url: 'https://someurl.com/controller',
crossDomain: true,
data: '{"some":"json"}',
dataType: 'json',
success: function(responseData) {
// handle success
},
error: function (error) {
// handle error
}
});
我想做這樣的事情:
myModel.save(null, function(data){
// handle response appropriately
});
你可以幫幫我嗎?
您可以覆蓋Model.sync
以自定義發送到服務器的請求。 例如,要添加crossdomain: true
屬性:
var M = Backbone.Model.extend({
url: 'https://someurl.com/controller',
sync: function(method, model, options) {
_.defaults(options || (options = {}), {
crossDomain: true
});
return Backbone.sync.call(this, method, model, options);
}
});
var m = new M();
m.save();
我最終創建了一個自定義方法來保存,它與我之前完全相同,但至少它是更好的封裝,因為該方法是在模型上定義的。
saveFunction: function(attributes, callback) {
$.ajax({
type: 'POST',
url: this.url,
dataType: 'json',
crossDomain: true,
data: attributes
}).done(function( data ) {
callback(data);
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.