我正在使用jQuery识别按钮上的单击,然后触发对文件的调用:
window.location.href = "url";
Run Code Online (Sandbox Code Playgroud)
此文件查询数据库,返回结果,然后将其写入CSV文件.我有以下标头集:
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename=data.csv');
Run Code Online (Sandbox Code Playgroud)
这适用于除Chrome之外的所有浏览器,它在控制台日志中返回以下错误"资源被解释为文档但使用MIME类型text/csv传输:"url"".
奇怪的是,如果我直接调用该文件,它适用于所有浏览器.
码:
$fp = fopen('php://output', 'w');
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename=data.csv');
header("Expires: 0");
header("Cache-control: private");
//Field Headers
$ncols = oci_num_fields($stid);
$headers_row = array();
for ($i = 1; $i <= $ncols; ++$i) {
$headers_row[] = oci_field_name($stid, $i);
}
while ($row = oci_fetch_array($stid, OCI_NUM+OCI_RETURN_NULLS)) {
if(!empty($row)){
if(!empty($headers_row)){
fputcsv($fp, $headers_row);
$headers_row = '';
}
fputcsv($fp, $row);
}
}
fclose($fp);
oci_close($conn);
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?
我第一次使用jQuery Mobile来制作它,以便我可以刷回上一页,我已经设法开始工作了.
但是我注意到屏幕底部有一条很难看的"加载"信息.谷歌搜索后,我看到一个函数调用$.mobile.hidePageLoadingMsg();,我添加到我$(document).ready(function()的内部,但加载消息仍然存在.
我怎样才能摆脱这条消息?
干杯