Ajax帖子被“取消”

时间:2013-05-16 10:35:12

标签: jquery ajax

我有一个ajax帖子,但它被取消了。我刚刚创建了一个test.php文件,它应该是echo 'test';值。

这就是我的ajax脚本的样子:

function loadAd(date) {
    var ajax_url = '<?=URL?>components/ajax/grab_ads.php';
    $.ajax({
        type: 'POST',
        url: ajax_url,
        dataType: 'html',
        data: ({
            date : date
        }),
        cache: false,
        success: function(data) {
            if(data > 0) {
                $('.advert').fadeIn("fast");
            }       
        },
        error: function(xhr, textStatus, errorThrown) {
            //alert('Nastala chyba. ' + errorThrown);
        }
    });
}

调用该函数,我试过控制台记录它。该变量也可以正常传递。这就是我在chrome网络标签中获得的内容。 screenshot

除此之外,我很无奈。

编辑:我这样称呼函数:

$datum = Date("d-m-Y H:i:s");

$adl .= '<script type="text/javascript">
              loadAd(\''.$datum.'\');
         </script>';

2 个答案:

答案 0 :(得分:6)

我们是从链接发出ajax请求,而不是阻止链接被跟踪。因此,如果您在onclick属性中执行此操作,请确保返回false;以及

 function loadAd(date) {
  var ajax_url = '<?=URL?>components/ajax/grab_ads.php';
  $.ajax({
    type: 'POST',
    url: ajax_url,
    dataType: 'html',
    data: ({
        date : date
    }),
    cache: false,
    success: function(data) {
        if(data > 0) {
            $('.advert').fadeIn("fast");
        }       
    },
    error: function(xhr, textStatus, errorThrown) {
        //alert('Nastala chyba. ' + errorThrown);
    }
 });
 return false;
 }

答案 1 :(得分:0)

检查 AJAX 呼叫正被触发的HTML element

如果是输入按钮,请确保其类型 button' <input type="button" />并使用return语句。

如果它是anchor标记,请尝试使用return语句:返回truefalse

确保在完成 AJAX 调用后不会刷新页面。如果您使用类型为Submit的输入字段,它将提交表单并导致页面刷新,并且请求被取消。