通过Ajax使用PHP强制下载文件

时间:2018-07-23 09:31:23

标签: php ajax

我需要将MySQL查询的结果转换为xls文件,使用PHP脚本强制下载该文件,然后通过ajax调用该脚本,但似乎无法实现。由于某种原因,我无法下载文件。我想念什么?

convert.php

        //getting the results of my query goes here
        //
        //
        //converting the results to xls file and force downloading it goes below...

        $output .= '</table>';
        header("Content-Type: application/xls");
        header("Content-Disposition: attachment; filename=download.xls");
        echo $output;

Ajax:

<script language = "javascript" type = "text/javascript">
        function convert() {


            var xhr = new XMLHttpRequest();

            xhr.onreadystatechange = function() {


                if(this.readyState == 4) {

                    xhr.close(); 

                }
                if(this.status == 200){

                    alert("Success!");


                }
            }

            xhr.open("POST", "convert.php", true);

            xhr.send();

        }
    </script>

我只得到“成功!”正常工作,但没有文件下载。如果我单独使用convert.php正常运行(而不是通过Ajax),则HTML form可以正常工作。预先感谢您的帮助!

0 个答案:

没有答案