You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS导出文本自动添加双引号,如何修改代码解决?

解决导出文本自动添加双引号的问题

你遇到的双引号问题其实很好解决——问题出在你用了angular.toJson()来处理普通文本!这个方法是专门用来把JavaScript对象/数组转换成JSON格式字符串的,当你传入一个普通字符串时,它会把这个字符串当作JSON的字符串值,自动给它加上双引号包裹起来,这就是你导出内容带引号的原因。

要修复这个问题,只需要做两个小改动:

  • 直接使用原始的文本变量,跳过angular.toJson()的转换(因为你要导出的是纯文本,不是JSON数据)
  • 把Blob的MIME类型改成更标准的text/plain(原来的text/text不是标准类型)

修改后的完整代码如下:

$scope.clickExport = function() { 
  var txt = 'This is sample text to export'; 
  var objectToExport = txt; 
  var filename = response.data.fileName; 
  // 直接传入原始文本,不用angular.toJson转换,同时修正MIME类型
  var blob = new Blob([objectToExport], { type: 'text/plain' }); 
  if (window.navigator && window.navigator.msSaveOrOpenBlob) { 
    window.navigator.msSaveOrOpenBlob(blob, filename); 
  } else { 
    var e = document.createEvent('MouseEvents'), a = document.createElement('a'); 
    a.download = filename; 
    a.href = window.URL.createObjectURL(blob); 
    a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':'); 
    e.initEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    a.dispatchEvent(e); 
  } 
}

这样修改后,导出的文本就会是你原本的内容,不会被自动添加双引号了。

内容的提问来源于stack exchange,提问作者Deekshith S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:25:21