我正在尝试执行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) 当我的客户端应用程序和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)
还是一样的错误.
我的前端应用程序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控制器中添加方法吗?或问题出在其他地方?