Javascript 单击按钮时下载文件jQuery
我的HTML中有以下按钮:Javascript 单击按钮时下载文件jQuery,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我的HTML中有以下按钮: <button id="exportVCardButton">Export vCard</button> 导出vCard 单击按钮时执行以下jQuery代码: $(document).on('click', '#exportVCardButton', function (e) { e.preventDefault(); document.location.href = 'contacts/createVCard.php?co
<button id="exportVCardButton">Export vCard</button>
导出vCard
单击按钮时执行以下jQuery代码:
$(document).on('click', '#exportVCardButton', function (e) {
e.preventDefault();
document.location.href = 'contacts/createVCard.php?contactID=<?php echo $contactID; ?>';
});
$(文档)。在('click','exportVCardButton',函数(e){
e、 预防默认值();
document.location.href='contacts/createVCard.php?contactID=';
});
单击此按钮时,createVCard.php脚本将创建一个vCard,并将文件作为下载发送到浏览器。在Safari中,它工作得很好。但是,在Google Chrome中,我在控制台中遇到以下错误:
资源被解释为文档,但使用MIME类型text/x-vcard传输
我试过几种不同的解决办法,但似乎都不管用。有没有人建议像在Safari中一样在Chrome中下载文件?我知道Chrome解决这个问题的唯一方法是指定
标记的内部,要使用它,您的代码将更改为:
<a id="exportVCardButton" href="contacts/createVCard.php?contactID=<?php echo $contactID; ?>" download>Export vCard</a>
您需要确保在链接中设置了href属性,jQuery才能正常工作@Marc这基本上就是我的代码所做的,除了使用按钮而不是链接。
$(document).on('click', '#exportVCardButton', function (e) {
e.preventDefault();
var href = $('#exportVCardButton').attr('href');
document.location.href = href;
});