AJAX需要请求标头吗?

时间:2011-12-20 10:18:50

标签: javascript jquery ajax http-headers

我是整个javascript / jquery / ajax场景的新手。我有一个我在个人计算机上使用以下jquery ajax脚本开发的网站。它在我的机器上运行得很好,但是当我将它上传到服务器时,没有任何反应。

        $.post(
            "action URL here",
            {
                lat_max: params.lat_max,
                lat_min: params.lat_min,
                lng_max: params.lng_max,
                lng_min: params.lng_min,
                building_residents: params.building_residents,
                building_type: params.building_type
            },
            function(json) {
                buildings = json;
                updateMarkers();
                if(polygons.length > 0){
                    for(var i = 0; i < poly_buildings.length; i++){
                        buildPolyBuildings();
                    }
                }else{
                    showAllMarkers();
                }

                filterResults();
            },
            "json"
        );

我已经在这个问题上打了几个小时了,我剩下的唯一想法是处理我不理解的事情 - 请求/响应标题。当我在我的实际站点上运行此脚本时,Firebug中的请求/响应头部分下没有任何内容。但是,当我在本地运行它时,有很多东西。我没得到什么?


有人要求查看标题中的差异。这是我在开发服务器上得到的内容:

ResponseHeaders 
Date                Tue, 20 Dec 2011 20:45:07 GMT 
X-Powered-By        PHP/5.3.6 
Transfer-Encoding   chunked 
Connection          Keep-Alive
Server              Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8r DAV/2 PHP/5.3.6
Content-Type        text/html
Keep-Alive          timeout=5, max=100

RequestHeaders
Content-Type        application/x-www-form-urlencoded
Accept              application/json, text/javascript, */*; q=0.01
X-Requested-With    XMLHttpRequest

这就是我在实时服务器上获得的内容:

ResponseHeaders
RequestHeaders
Content-Type    application/x-www-form-urlencoded
Accept          application/json, text/javascript, */*; q=0.01

再次 - 我不知道这是问题所在,但这是我在两种环境中可以看到的唯一功能差异。

2 个答案:

答案 0 :(得分:1)

您是否可以访问新服务器上的错误日志?我最近遇到了类似于你的问题,事实证明新服务器上的php配置与旧服务器上的版本不同,这意味着我通过AJAX打的页面失败了(并且没有发回响应)。这也可能导致你的问题。

答案 1 :(得分:1)

我弄清楚发生了什么事。事实证明,我要去的域名前面没有“www” - 我要去裸域。它在代码中引用的url在它前面有“www”子域。它解决了一切。谢谢你的帮助!