Ajax帖子被"取消"

Ins*_*SVK 5 ajax jquery

我有一个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);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

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

除此之外,我很无奈.

编辑:我这样调用函数:

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

$adl .= '<script type="text/javascript">
              loadAd(\''.$datum.'\');
         </script>';
Run Code Online (Sandbox Code Playgroud)

Shi*_*jin 8

我们从链接发出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;
 }
Run Code Online (Sandbox Code Playgroud)

  • 或者在函数开头使用`preventDefault();`. (3认同)
  • 尝试在您的 ajax 请求中放入 async:false 。这可能会破坏其他东西,但如果您希望这是默认操作,请尝试此操作。当浏览器开始导航离开您所在的页面时,ajax 请求通常会被取消。 (2认同)