我有一个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>';
答案 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语句:返回true
或false
。
确保在完成 AJAX 调用后不会刷新页面。如果您使用类型为Submit的输入字段,它将提交表单并导致页面刷新,并且请求被取消。