【发布时间】:2015-01-13 17:19:22
【问题描述】:
在我的 WordPress 项目中,我的 Download 按钮包含一个 .zip 文件,应该下载该文件。所以生成的 HTML 是:
<a id="732" class="btn btn-default download-link" href="https://example.com/download.zip">DOWNLOAD</a>
我正在使用 AJAX 刷新下载计数。
<script type="text/javascript">
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
jQuery(document).on('click', '.download-link', function () {
var id = this.id;
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {"action": "count_download",
"id": id
},
success: function (data) {
window.location = site.url + "/download-success?fid="+ id;
}
});
});
</script>
在我添加带有链接的文件之前,一切正常。通常,此类链接将开始下载 .zip 文件,但即使在 AJAX 调用所花费的时间之后,页面也会重定向到下载成功页面,而不会触发下载。
而且大部分时间都会发生,只有一两次文件开始下载。
P.S.:我测试了this,但这不是我的情况。
【问题讨论】:
-
不要这样做。通过 php 脚本提供文件,并在那里进行下载计数更新。这会更加可靠:脚本将捕获文件上的 ALL 命中,而不仅仅是“礼貌地”通过您的 html/js 的那些。
标签: javascript php jquery ajax wordpress