将我的站点移动到新服务器,现在JQuery .get()没有返回

时间:2011-10-17 18:19:07

标签: php jquery ajax

我最近将我的服务器升级到了更好的服务器,经过几次轻微的颠簸后,几乎所有设备都正常运行。我仍然有一个问题,我很难过。在我的一个页面上,我对我网站上的php页面进行了JQuery .get()调用,以获取一些数据来填充日历。我用来进行AJAX调用的函数是:

function getBlackoutData(packageNum, nights, arrivalDate) {
if(!isRunning) {
    isRunning = 1;
    bodates.length = 0;
    $.get("getBlackOutData.php", {
        pkg: packageNum,
        additional_nights: nights,
        arrivalDate: arrivalDate
        }, function(data) {
        $.each(data.info, function(n,object) {
            $.each(object, function(key,val) {
                pkgInfo += key + '=' + val + '&';
                $('#' + key).text(val);
            });
        });
        $.each(data.dates, function(key, value) {
            bodates[key] = value;
            var pickedDate= $("#Checkin").val();
            var pickedDateSplit = pickedDate.split("/");
            pickedDate = pickedDateSplit[2] + pickedDateSplit[0] + pickedDateSplit[1];
            if(value == pickedDate && $("#Checkin").val() != ""){
                alert("The date you have chosen is not available with your current package");
                $("#Checkin").val('');
            }
        });
        if(bodates.length >= 120) {
            $('#customer_info').html("<div class=\"packageError\">We're sorry, it appears that this package is not currently available. Please try another package or call 1-888-923-3378 for further avaliablity.</div>");
        }
        $('#customer_info').show();
        $('#retail').html(data.retailNightPrice);
        custPrice = $('#price').html();
        $('#discount').html(data.retailNightPrice - custPrice);
    }, "json");
    isRunning = 0;
}
}

在我移动服务器之前,此调用很有效,并且使用适当的$ _GET参数直接访问getBlackOutData.php页面可以正常工作。现在我不仅没有从AJAX调用中得到预期的结果,我甚至没有得到http响应代码(我在FireBug中查看)。此外,使用FirePHP,我能够从我试图访问的PHP页面将调试数据打印到我的FireBug控制台,所以我知道我实际上正在访问该页面。有谁知道这可能是一个JQuery错误,甚至可能是服务器本身的配置错误?

2 个答案:

答案 0 :(得分:1)

好的,问题解决了!显然,旧服务器似乎并不介意该站点的基本href是HTTPS,而该特定页面的链接只是HTTP。这显然引起了AJAX请求的问题。

答案 1 :(得分:0)

您的新服务器是否有mod_security?它可能会阻止请求。

你可能需要改变:

Access-Control-Allow-Origin“*” 访问控制允许方法“GET,POST” Access-Control-Allow-Headers“x-prototype-version,x-requested-with”

可能会改变你的ModSecurity whitelist.conf