子域的Ajax请求处理CORS寻找其他的问题和答案,我觉得他们真的不盖后,想我想要做的,因此为什么我问了一个新问题。用于机架式
所以,我建立了一个子域匹配机架中间件,我将主持我的API在它自己的子域名的想法(api.localhost:3000)。
这大部分工作不过,如果我尝试发送一个Ajax请求的Web浏览器将引发嘘声像配合有关CORS。
那么,如何在CORS记住我在机架安装该附加子域为我的子域名匹配中间件轴承。
子域的Ajax请求处理CORS寻找其他的问题和答案,我觉得他们真的不盖后,想我想要做的,因此为什么我问了一个新问题。用于机架式
所以,我建立了一个子域匹配机架中间件,我将主持我的API在它自己的子域名的想法(api.localhost:3000)。
这大部分工作不过,如果我尝试发送一个Ajax请求的Web浏览器将引发嘘声像配合有关CORS。
那么,如何在CORS记住我在机架安装该附加子域为我的子域名匹配中间件轴承。
如果可以防止使用CORS或JSONP我建议你做的。最好的解决方案是定义一个子目录来处理你的API/restful请求。我有类似的情况,当你强迫自己进入CORS又名标题总是设置访问控制允许来源*然后你设置自己的限制。
避免这些限制在可能的情况。只是我的经验。祝你好运!
我会做这样的事情:
http://www.domain.com/rest/api/items/1
在哪里休息是你的Web服务进行处理。如果您不需要它们,请远离子域名。
如果您必须绝对使用CORS,并且您知道请求由您处理,并且只有您,那么您可以使用jsonp逃脱。
JSONP
JSONP基本包装在使用回调函数JavaScript对象你的要求。使用这种方法可以处理的数据量有限制,但这是一种在不设置CORS的情况下让跨域请求运行的快捷方式。
这里是一个JSONP请求的例子:
$.ajax({
type: "GET",
url: "http://www.domain.com/rest/WEB055S?callback=?",
data: args,
contentType: "application/json; charset=utf-8",
dataType: "jsonp"}).
done(function(data){
alert(data.ERROR);
})...
有趣,是一个办法做到这一点没有jQuery的? – Thermatix
我知道有一些PHP可用于跨域的API,但CORS仍需设置。 jsonp是我所知道的唯一客户端黑客攻击,但如果您只需要服务器端跨域功能,那么浏览器无需知道它是跨域的,因此使生活变得更加简单。你应该可以设置'.htaccess'或'http.conf',并且允许所有的交叉指令,并且很好。 – yardpenalty
我只是不想看到你仅限于服务器端编程笑lol – yardpenalty