我在尝试使用jQuery调用我的Java RESTFUL API时遇到了一些困难
调试我发现两个选项和GET方法都被调用,但当GET方法在服务器中完成时,不会检索json,并且broswer中会出现错误
选项请求
选项/PTGServices/ptgapi/v1/clients/1/ngo HTTP/1.1
主机:本地主机:8080
连接:保持活力
缓存控制:最大年龄=0
访问控制请求方法:GET
来源:http://localhost:8181
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/32.0.1700.76 Safari/537.36
访问控制请求头:接受、缓存控制、x-custom-1、x-custom-2、授权
接受:*/*
推荐人:http://localhost:8181/jquerysample/local/index.html
接受编码:gzip、deflate、sdch
接受语言:es,es;q=0.8,en;q=0.6
选项响应
HTTP/1.1.204 Sin Contenido
服务器:ApacheCoote/1.1
访问控制允许凭据:true
访问控制允许来源:http://localhost:8181
访问控制允许方法:GET、POST、PUT
访问控制允许标头:授权、缓存控制、内容类型、来源、X-requested-with、X-custom-1、X-custom-2、WithCredentials
访问控制最大年龄:60岁
日期:2014年1月20日星期一14:49:25 GMT
获取请求
接受:*/*
授权:基本dXNlcjp1c2Vy
缓存控制:没有缓存
来源:http://localhost:8181
推荐人:http://localhost:8181/jquerysample/local/index.html
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/32.0.1700.76 Safari/537.36
X-custom-1:值1
X-custom-2:值2
在Chrome中,此GET请求显示一条橙色警告,指示:“警告:显示临时标题”,并且没有GET响应
在Firefox中,没有警告,但响应也是空的
经过一些研究,我发现这篇文章指出两个响应(选项和GET)都必须有Allow控件头,所以我把它放在了上面,但仍然不起作用
http://kodemaniak.de/2010/07/cross-domain-ajax-with-restlet-and-jquery/
有什么想法吗
谢谢
更新1:
我发现这可能是Spring集成的“问题”,因为当我检索Access-Allow-*头时,它正在映射到“X-Access-Allow-*”
Antonio,您应该使用userDefinedHeaderPrefix=null或空字符串来配置DefaultHttpHeaderMapper。默认情况下,它实际上是X-
JIRA对此事的意见如下:https://jira.springsource.org/browse/INT-1722