我目前正在处理一些需要发送跨域 ajax 请求的东西。我正在使用 jQuery 1.7.2 和 Resteasy。这是我的ajax请求:
$.ajax({
url: Configuration.AjaxUrlPrefix + "/rest/conf/saveoption",
data: {
save_option: JSON.stringify(optionData)
},
type: "POST",
dataType: 'text',
success: success,
error: fail,
cache: false
});
我使用拦截器向我的其余响应添加一些标头:
@Provider
@ServerInterceptor
public class CrossDomainInteceptor implements PostProcessInterceptor
{
@Override
public void postProcess(ServerResponse response)
{
MultivaluedMap<String, Object> metadata = response.getMetadata();
metadata.add("Access-Control-Allow-Origin", "*");
metadata.add("Access-Control-Allow-Methods", "*");
metadata.add("Access-Control-Max-Age", "*");
metadata.add("Access-Control-Allow-Headers", "*");
}
}
它适用于 Chrome 和 FF,但不适用于 IE8 和 IE9。而且我在 IE 开发人员工具中没有看到任何错误。有人可以帮我吗?