相关疑难解决方法(0)

backbonejs + cors和save()方法

我正在尝试执行POST抛出save方法.这是我的模特.

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

当我执行:

    dummy.save({text : "greg"}, {
        success : function(){       
            console.log('Ok!');
        }, 
        error: function(){
            console.log('Error');
        }
    });
Run Code Online (Sandbox Code Playgroud)

使用OPTIONS标头(代码200)触发请求,但POST请求永远不会被触发.但是当我执行时:

    $.ajax({
        type: 'POST',
        url: "http://anotherdomain/Hello/",
        data: {text:"greg"},
        success: function(r) { alert(r.Result) },
        dataType: "application/json"
    });
Run Code Online (Sandbox Code Playgroud)

其作品!

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

编辑:

请求是:

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: …
Run Code Online (Sandbox Code Playgroud)

save cors backbone.js

6
推荐指数
1
解决办法
1217
查看次数

在codeigniter中启用cors(restserver by @chriskacerguis)

当我的客户端应用程序和api在localhost中时,agularJs控制器中的http.get请求正常工作.当api移动到服务器时,出现了问题.

客户端使用angularJs

$http.get('http://domain.com/api/spots/2/0').success(function(datas){
console.log(datas);
});
Run Code Online (Sandbox Code Playgroud)

log give:跨源请求被阻止:同源策略不允许在http://domain.com/api/spots/2/0上读取远程资源.这可以通过将资源移动到同一域或启用CORS来解决.

我已将这两行添加到我的控制器构造中

header("Access-Control-Allow-Origin: *");

header("Access-Control-Allow-Methods: GET");
Run Code Online (Sandbox Code Playgroud)

还是一样的错误.

php codeigniter angularjs codeigniter-restserver

6
推荐指数
3
解决办法
3万
查看次数

使用CodeIgniter ResetServer,使用AngularJS的POST请求失败,预检OPTION状态代码= 404

我的前端应用程序grunt在端口上的实时服务器上运行9100,而我的PHP服务器在端口上80.主机是相同的,只是端口不同.

当我向某些数据发送POST请求时,我在预检请求上收到错误.http://dev.site.dev/api/gistJSON404OPTIONS

我已经CORS在apache配置中添加了标头:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "X-Requested-With, accept, content-type"
Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Run Code Online (Sandbox Code Playgroud)

``并重新启动服务器但仍然遇到问题.

我应该index_option()gist控制器中添加方法吗?或问题出在其他地方?

codeigniter http-post cors angularjs codeigniter-restserver

1
推荐指数
1
解决办法
9659
查看次数