gpt4 book ai didi

php - 运行javascript函数然后发布下载

转载 作者:行者123 更新时间:2023-11-29 22:12:14 25 4
gpt4 key购买 nike

所以我有一个页面,用户将在其中点击“导出”按钮,我想运行一个 javascript 函数并获取导出所需的数据,然后调用一个 php 脚本从我的数据库中获取数据并强制下载。现在的问题是,我可以运行 javascript,然后调用一个 post 到我的脚本,但没有下载任何东西。我假设这是因为我实际上并没有将窗口移动到 php 文件,我只是调用脚本。谁能帮帮我?

javascript: ids 是一个数组,我需要传递它来获取信息。这是在用户点击“导出”按钮时我调用的函数内。

$.ajax({        
type: "POST",
url: "exportLeads.php",
data: { 'idArray' : ids }
});

php:我用过这个 Export to CSV via PHP问题。该功能已正确实现,我没有收到任何错误。只是没有提示下载的文件。

$data = mysql_query($query) or die($query.mysql_error());
$results = array();
while($line = mysql_fetch_array($data, MYSQL_ASSOC)){
$results[] = $line;
}
download_send_headers("data_export_" . date("Y-m-d") . ".csv");
echo array2csv($results);
die();

最佳答案

您不能使用ajax 下载文件。您可以使用 window.location.href 将用户重定向到文件位置,但无论如何,我建议您阅读这篇文章,有人会为您提供更好的答案:)

Download a file by jQuery.Ajax

或者你也可以使用这样的东西在你的 javascript 中

$.post( "exportLeads.php", { 'idArray' : ids }, function( response ) {
if ( response.error === 0 ) {
window.location.href = response.location;
}
}, "json" );

在你的 php 文件中

<?php
if ( $has_error ) {
echo json_encode( array( "error" => 1 ) );
}
else {
echo json_encode( array(
"error" => 0,
"location" => "link_to_file"
) );
}
?>

关于php - 运行javascript函数然后发布下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17505962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com