微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

代理的ajax请求失败,状态码为200

如何解决代理的ajax请求失败,状态码为200

| 我正在构建通过反向代理使用外部API的仅js的web应用。 为此,我设置了Apache,并添加了以下规则:
ProxyRequests off
ProxyPassReverseCookiePath /starmobile /
<Location /api/>
    ProxyPass http://209.90.224.106:7500/starmobile/
    ProxyPassReverse http://209.90.224.106:7500/starmobile/
</Location>

<Proxy *>
    Order deny,allow
    Allow from all
    Satisfy all
</Proxy>
这样,所有对/ api /的请求都将被代理到api服务器,而所有其他请求都将在本地处理(从而允许加载静态资源和js)。 通过curl使用代理执行请求时,一切正常:
curl -d \"{\\\"method\\\":\\\"getAllItemClasses\\\"}\" http://starcom/api/AvailabilityWebMobile/
[{\"code\":\"Default\",\"id\":999},{\"code\":\"06KALANCHOE\",\"id\":100041},{\"code\":\"06BEGONIA\",\"id\":100043},{\"code\":\"06ROSES\",\"id\":100045},{\"code\":\"04AFRICANVIOLET\",\"id\":100046},{\"code\":\"04CYCLAMEN\",\"id\":100047},{\"code\":\"04ROSES\",\"id\":100048},{\"code\":\"04Asst\",\"id\":100049},{\"code\":\"04BEGONIA\",\"id\":100050},{\"code\":\"04MUM\",\"id\":100051},{\"code\":\"04KALANCHOE\",\"id\":100052},{\"code\":\"04GERBERA\",\"id\":100053},{\"code\":\"04PRIMROSE\",\"id\":100054},{\"code\":\"06AZALEA\",\"id\":100055},{\"code\":\"06CYCLAMEN\",\"id\":100056},{\"code\":\"06MUM\",\"id\":100057},{\"code\":\"06GERBERA\",\"id\":100058},{\"code\":\"06HYDRANGEA\",\"id\":100059},{\"code\":\"06Asst\",\"id\":100060},{\"code\":\"06TULIP\",\"id\":100063},{\"code\":\"06HYACINTH\",\"id\":100064},{\"code\":\"06EASTERLILY\",\"id\":100065},{\"code\":\"06SHAMROCK\",\"id\":100070},{\"code\":\"045SHAMROCK\",\"id\":100071},{\"code\":\"05DAHLIA\",\"id\":100194},{\"code\":\"05OSTEO\",\"id\":100195},{\"code\":\"06DUTCH BULBS\",\"id\":100263},{\"code\":\"06WAVE\",\"id\":100304},{\"code\":\"18PKWAVE\",\"id\":100305},{\"code\":\"PTWAVE\",\"id\":100306},{\"code\":\"2.6QTWAVE\",\"id\":100307},{\"code\":\"16.5CLASSICA\",\"id\":100308},{\"code\":\"10SQTBISCottO\",\"id\":100309},{\"code\":\"10TALLBISCottO\",\"id\":100310},{\"code\":\"13VALLEY\",\"id\":100311},{\"code\":\"14COCOHB\",\"id\":100312},{\"code\":\"14.5CONTESSA\",\"id\":100313},{\"code\":\"PGR\",\"id\":100398},{\"code\":\"FERTILIZER\",\"id\":100399},{\"code\":\"POTS\",\"id\":100409},{\"code\":\"SHUTTLE\",\"id\":100410},{\"code\":\"TRAY\",\"id\":100411},{\"code\":\"INSERT\",\"id\":100412},{\"code\":\"FLAT\",\"id\":100413}]
但是,通过ajax执行相同的请求时,我得到的状态码为200 OK,但正文为空。 Firebug会以红色显示200 OK消息(作为错误,但没有其他说明),Chrome只会在状态上显示一条“(取消)”消息(尽管详细信息可以识别出响应标头为200)。 我完全不知道为什么不知道正文,因为代理应该防止出现相同域策略之类的问题。 我附加了Chrome显示的响应标题
Connection:Keep-Alive
content-encoding:gzip
Content-Type:application/json;charset=UTF-8
Date:Wed,15 Jun 2011 13:03:46 GMT
Keep-Alive:timeout=15,max=100
Server:Apache-Coyote/1.1
transfer-encoding:chunked
Via:1.1 starcom
提前致谢     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。