Ajax Request返回空响应

时间:2014-02-13 14:24:01

标签: javascript php jquery ajax apache

我有以下情况:

在我的本地服务器上,我进行了此次调用

文件:history.js

$(document).ready(function() {
    $('button[data-pid]').click(function() {
        $.ajax({
            cache: false,
            data: JSON.stringify({ pch_id: $(this).data('pid') }),
            dataType: 'json',
            type: 'POST',
            url: REPAIR_BROKEN_BANNER_URL
        }).done(function(data) {

            $('#fix-broken-banner-text').text(data.message);

            if (!data.error) {
                $('#fix-broken-banner-modal').on('hidden.bs.modal', function() {
                    window.location.href = window.location.href;
                });
            }

            $('#fix-broken-banner-modal').modal('show');

        }).fail(function() {
            $('#fix-broken-banner-text').text(REPAIR_BROKEN_ERR_GENERIC);
            $('#fix-broken-banner-modal').modal('show');
        });
    });
});

页面包含

<script type="text/javascript" src="/js/history.js"></script>
<script type="text/javascript">
    var REPAIR_BROKEN_BANNER_URL = '/admin/banners/repair-broken-banner/';
    var REPAIR_BROKEN_ERR_GENERIC = 'Unable to perform the action';
</script>

服务器始终使用JSON响应,但仍然发生错误。

问题出在生产服务器上。 (生产服务器是Debian的虚拟服务器)。当ajax调用该操作时,它总是一个空白的响应,并带有以下标题:

请求网址 http://debug.xxxxxxx.xxx/admin/banners/repair-broken-banner/

请求标题小心:显示临时标题。

  • 接受:application / json,text / javascript, / ; Q = 0.01
  • 内容类型:应用/ X WWW的窗体-urlencoded;字符集= UTF-8
  • 产地:http://debug.xxxxxxx.xxx
  • 的Referer:http://debug.xxxxxxx.xxx/admin/banners/history-list
  • User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36
  • (KHTML,与Gecko一样)Chrome / 32.0.1700.107 Safari / 537.36
  • X-Requested-With:XMLHttpRequest

表格数据

  • pch_id:697f1eaa2fc691a9a7d22d315f7ed8c966febe8ec2c57c1c7a867897f6431dfb8b596ef9dd8f2394c875c638496f7ec9

我认为这可能是一个php错误,但是如果我在第一次脚本调用时写了一条消息并死掉,那么该页面仍然是空白的。在apache访问日志中,没有任何跟踪调用。 我在firefox中尝试了这个调用,它没有出现在XHR选项卡中,就像调用它没有执行一样。

编辑: Javascript部分已完成

1 个答案:

答案 0 :(得分:1)

我想你正在使用Adblock plus。 它与Javascript无关,而与URL本身有关。

您在网址中有横幅字样。 请求网址:http://debug.xxxxxxx.xxx/admin/ 横幅 / repair-broken-banner /

为您的网站停用Adblock plus,它应该可以正常运行。