Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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/vue.js/6.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 web浏览器在尝试创建blob类型错误时发出投诉:无法构造';水滴';:提供的值无法转换为序列_Javascript_Vue.js_Post - Fatal编程技术网

Javascript web浏览器在尝试创建blob类型错误时发出投诉:无法构造';水滴';:提供的值无法转换为序列

Javascript web浏览器在尝试创建blob类型错误时发出投诉:无法构造';水滴';:提供的值无法转换为序列,javascript,vue.js,post,Javascript,Vue.js,Post,我有一个RESTAPI(POST方法),它返回PDF的内容。我使用curl进行了测试,我确实可以在我的计算机上查看并打开文件: curl http://localhost:8080/ponyapp/test/generate-pdf -H 'Content-Type: application/json' -d '[{"fieldA":"valueA", "fieldB":"valueB", ...}]' -i -o ~/Desktop/label.pdf 现在我有了一个vuejs/js应用程序

我有一个RESTAPI(POST方法),它返回PDF的内容。我使用curl进行了测试,我确实可以在我的计算机上查看并打开文件:

curl http://localhost:8080/ponyapp/test/generate-pdf -H 'Content-Type: application/json' -d '[{"fieldA":"valueA", "fieldB":"valueB", ...}]' -i -o ~/Desktop/label.pdf
现在我有了一个vuejs/js应用程序,它需要使用这个RESTAPI并能够将文件保存到本地计算机中。我的方法(如果我错了,请纠正我)是:

  • 调用API以获取响应负载
  • 将有效负载放入文件中
  • 使用HTML锚元素将文件下载到本地计算机
  • 出于某种原因,这是行不通的

    这是响应有效载荷:

    %PDF-1.4↵%����↵1 0
    obj↵↵endobj↵20 obj↵ 必须将数组传递给blob构造函数

    let data = new Blob([response.data], { type: 'application/pdf,' });
    

    必须将数组传递给blob构造函数

    let data = new Blob([response.data], { type: 'application/pdf,' });
    

    您可以查看。您可以避免在js中下载,只需构建链接
    ,就可以在vue中使用
    :href=“url”
    。我想即使是
    window.location=
    也可以,如果下载成功,我可能会误解你的评论。该文件不存在。我需要对服务器(代理)进行REST调用,该服务器将使用请求负载从另一台服务器获取内容和pdf内容。不确定我是否解释正确。你不需要ajax,只需链接文件或设置window.location。此外,请确保在后端为pdf设置正确的标题。下面是如何设置php标题的示例,您可以检查。您可以避免在js中下载,只需构建链接
    ,就可以在vue中使用
    :href=“url”
    。我想即使是
    window.location=
    也可以,如果下载成功,我可能会误解你的评论。该文件不存在。我需要对服务器(代理)进行REST调用,该服务器将使用请求负载从另一台服务器获取内容和pdf内容。不确定我是否解释正确。你不需要ajax,只需链接文件或设置window.location。此外,请确保在后端为pdf设置正确的标题。下面是如何设置php标题的示例