即使使用apache代理,$ .ajax在跨域请求中也会失败

时间:2013-12-19 20:01:07

标签: ajax apache cross-domain

我想要访问下面的网址并验证我是否获得HTTP状态200或其他内容。 http://AAAAAAAAAA.com:59060/eddUtilityService/eddUtilityService.wsdl

由于现有的跨域问题都没有回答我的问题。所以请不要忽视这一点。

这是我从我的HTML文件中调用的ajax。

$.ajax({
    url: "/l2/eddUtilityService/eddUtilityService.wsdl",        
    type: "HEAD",
    async: false,
    contentType: "JSONP",
    success: function(data){
        console.log("SUCCESS for ajax call ");
        return data.responseCode;
    },
    error:function(jqXHR, textStatus, errorThrown){
        console.log("Error for ajax call "+jqXHR.status+"-- "+textStatus+"--"+errorThrown);
        return jqXHR.status;
    }

但是我在Apache中的代理设置如下:

            RewriteRule /l2/eddUtilityService/eddUtilityService.wsdl http://AAAAAAAAAA.com:59060/eddUtilityService/eddUtilityService.wsdl
            ProxyPassReverse /l2/ http://AAAAAAAAAA.com:59060/

但是我得到了错误结果,jqXHR.status为0,而且readyStatus等于0。

有人能说出上面代码中有什么问题吗? 我也尝试过contentType =“text / xml”和“application / text”json。但结果是一样的。

1 个答案:

答案 0 :(得分:0)

我对apache代理知之甚少,所以我不确定这是否会有多大帮助,但服务器的HTTP响应头应该有这个标题:“Access-Control-Allow-Origin”,“* “允许跨源请求。您可能想要检查代理的配置