javascript - ajax下载文件出错

标签 javascript php jquery ajax

我有 JS 在函数中创建的内容,我需要将该内容打印到我的下载文件夹中,但是当我尝试通过 ajax 时,它不会工作,也不会抛出任何错误

JS代码

$.ajax({
      url: 'includes/download.php',
      type: 'post',
      data: {'filename': name_file, 'content': content},
      success: function(data, status) {
        if(data == "ok") {
          console.log('data okay');
        }
      },
      error: function(xhr, desc, err) {
        console.log(xhr);
        console.log("Details: " + desc + "\nError:" + err);
      }
    });

PHP 代码

<?
$filename = $_POST['filename'];
$content = $_POST['content'];

header("Content-type: csd/");
header("Content-Disposition: attachment; filename=".$filename);

print $content;

最佳答案

如果您的内容位于 JavaScript 变量中,则不需要任何 ajax 调用来保存它

var content = 'anything';
var filename = 'testFile.txt';
var hiddenElement = document.createElement('a');

hiddenElement.href = 'data:attachment/text,' + encodeURI(content);
hiddenElement.target = '_blank';
hiddenElement.download = filename;
hiddenElement.click();

filename 变量也应包含扩展名

<强> JsFiddle

关于javascript - ajax下载文件出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186923/

相关文章:

JavaScript、RegEx - 如何获取实际找到的字符串

javascript - testcomplete中比较JS中的图片

php - 使用 PHP GD `imagecreatefromstring` 函数创建图像时出现问题

php - 在php中将日期转换为sql格式并将其存储到数据库

javascript - 基于 Json 数据通过 JavaScript 函数添加类

javascript - Three.js - 如何创建自定义形状

javascript - 使用 jQuery load() 显示来自外部 URL 的内容

php - 试图获取非对象 Laravel 5.4 的属性

javascript - 在我的特定 PHP 代码中处理 slider 标签

javascript - 光滑的旋转木马第二张幻灯片可见