Vue资源和Express上的CORS问题

时间:2017-03-08 07:59:20

标签: node.js express

所以我将数据传递到我的快递路线,路线将生成pdf。这是我的代码:

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。

1 个答案:

答案 0 :(得分:-1)

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

const cors = require('cors');

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

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