Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在以excel格式导出时如何在ajax中指定文件名_Javascript_Php_Ajax - Fatal编程技术网

Javascript 在以excel格式导出时如何在ajax中指定文件名

Javascript 在以excel格式导出时如何在ajax中指定文件名,javascript,php,ajax,Javascript,Php,Ajax,在这段代码中,我想在下载excel格式时指定文件名 if(comp_id != "Select Company") { $.ajax({ url: 'includes/export.php', data: { action: 'compreport', 'comp':comp_id, }, type: 'post', success: function (output) { $("#ereportview")

在这段代码中,我想在下载excel格式时指定文件名

if(comp_id != "Select Company")
{
  $.ajax({
    url: 'includes/export.php',
    data: {
      action: 'compreport', 
      'comp':comp_id,   
    },
    type: 'post',
    success: function (output) {
      $("#ereportview").html(output);
      window.open('data:application/vnd.ms-excel,' + encodeURIComponent( $('div[id$=ereportview]').html()));
      e.preventDefault();
    },
    async: false
  });  
}
success
回调中使用此选项

function download(filename, text, mime) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:'+mime+',' + encodeURIComponent(text));
  element.setAttribute('download', filename);

  element.style.display = 'none';
  document.body.appendChild(element);

  element.click();

  document.body.removeChild(element);
}
您可以这样使用它:

if(comp_id != "Select Company") {
  $.ajax({
    url: 'includes/export.php',
    data: {
      action: 'compreport', 
      'comp':comp_id,   
    },
    type: 'post',
    success: function (output) {
      download("yourfile.xlsx", output, 'application/vnd.ms-excel');
    },
    async: false
  });  
}

您可以为正在下载的内容类型指定MIME。你可以从

中得到,请你解释一下好吗??什么文件名我想在该代码中分配下载的excel文件名试试这个:如果你也可以不使用ajax下载。它采用随机文件名。我知道有HTTP头内容配置来指定下载文件名。但这是HTTP响应头。我不知道如何在数据url模式中设置头。一种可能的解决方案是,您可以在“div[id$=ereportview]”中添加元数据。只要加上。我尝试过这个解决方案。我想下载pdf格式意味着如何编辑此代码我需要pdf格式的输出您的代码是excel的file@KalaivaniM问题是“在以excel格式导出时如何在ajax中指定文件名”。如果你有新问题,请作为新问题提问。