backbone.js - backbonejs + cors 和 save() 方法

标签 backbone.js save cors

我正在尝试执行 POST 抛出保存方法。这是我的模型。

app.Models.Dummy = Backbone.Model.extend({
    initialize: function () {
        url = 'http://anotherdomain/Hello/';
    },
});

当我执行:
    dummy.save({text : "greg"}, {
        success : function(){       
            console.log('Ok!');
        }, 
        error: function(){
            console.log('Error');
        }
    });

使用 OPTIONS header (代码 200)触发请求,但从未触发 POST 请求。
但是当我执行时:
    $.ajax({
        type: 'POST',
        url: "http://anotherdomain/Hello/",
        data: {text:"greg"},
        success: function(r) { alert(r.Result) },
        dataType: "application/json"
    });

其作品!

我是否需要覆盖主干中的某些内容?

编辑:

请求是:
OPTIONS http://anotherdomain/Hello/ HTTP/1.1
Host: anotherdomain
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Origin: http://mydomain
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Pragma: no-cache
Cache-Control: no-cache

回应是:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 0
Server: Microsoft-IIS/7.5
Set-Cookie: ARRAffinity=611c389e4fd6c5d83202b700ce5627f6e0850faf0604f13c25903b4662919f36;Path=/;Domain=anotherdomain
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Powered-By: ARR/2.5
X-Powered-By: ASP.NET
Date: Wed, 05 Dec 2012 18:44:27 GMT

最佳答案

这不是 CORS 的有效 OPTIONS 响应。响应需要包含告诉浏览器允许内容的 header 。例如(取自 MDN ):

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER

我知道您说 $.ajax 有效,但基于此 CORS 响应,我怀疑这是否准确,建议您仔细检查。在幕后,主干本身只是使用 $.ajax

关于backbone.js - backbonejs + cors 和 save() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727696/

相关文章:

web-applications - 在需要频繁用户编辑的 Web 应用程序中保存用户数据的最佳方法是什么?

ios - ManagedObjectContext performBlock(AndWait)死锁

c# - 使 CORS 与 Web API 2 一起工作时遇到问题

java - CORS Java 服务器端实现

javascript - CORS 飞行前返回 Access-Control-Allow-Origin :*, 浏览器仍然失败请求

javascript - Backbone 路由器导航和 anchor href

javascript - backbone.js 使用子字符串过滤集合

backbone.js 集合在创建时添加空元素?

backbone.js - Bootstrap scrollspy 和 Backbone 路由

java - Android 游戏上的自动保存和自动加载游戏概念以及内部保存与保存。外部(又称 SD 卡)