2017-03-08 38 views
0

因此,我将数据传递给我的快速路线,路线将生成pdf。这是我的代码:Vue Resource和Express上的CORS问题

Vue的方法:

this.$http.post('http://localhost:3030/pdf', user_data).then(function(response) { 
    console.log('Success', response) 
}, function(error) { 
    console.log('Error', error) 
}) 

的http://本地主机:3030/PDF

res.render('pdf', { 
    personal_information: req.body.personal_information 
}, function (err, html) { 
    //generate pdf 
    pdf.create(html).toBuffer(function (err, buffer) { 
     if (err) { 
      console.log(err) 
      next() 
     } else { 
      var pdfBuffer = new Buffer(buffer) 
      res.setHeader('Content-disposition', 'inline; filename="test.pdf"'); 
      res.setHeader('Content-type', 'application/pdf'); 
      res.send(pdfBuffer) 
     } 

    }); 
}); 

的代码实际工作,它能够产生PDF文件,也​​可以下载,但我没有得到我的vue承诺的成功回应。这是我得到

enter image description here

有没有一种方法来处理呢?

如果您的答案将包括cors问题,我只想让您知道我正在使用feathersjs和cors包已安装。

const cors = require('cors'); 
app.use(cors()) 

事情是当我改变内容类型,我得到了成功的回应,但它不会让我下载pdf。

+0

可能重复的[如何允许CORS?](http://stackoverflow.com/questions/7067966/how-to-allow-cors) –

+0

@AlexisTyler编辑我的帖子 – FewFlyBy

+0

如果这是一个PDF问题,你真的需要编辑问题以反映此问题,因为它仍然看起来像是图像中的问题。 –

回答

-1

启用CORS的超级简单方法是使用cors包。

const cors = require('cors'); 

const app = express(); 
app.use(cors()); 

我建议您阅读软件包的文档以了解更多关于如何安全配置它的信息。

+0

因为我使用feathersjs,cors已经在我的应用程序中。 – FewFlyBy

+0

如果我更改了我的setHeader内容类型,它正在工作。这是一个pdf问题 – FewFlyBy