То, что я в итоге сделал, - это другой подход, который хорошо работает.Это также возможно лучше / безопаснее.
Я использую опцию Nuxt ServerMiddleware для запуска функции на стороне сервера (Node / Express), которая отправляет данные в Wufoo .
Я настроил @/serverMiddleware/postcontactform.js
var bodyParser = require('body-parser')
var express = require('express')
var app = express()
var request = require("request");
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.all('/', (req, res) => {
if (req.method === 'POST') {
var data = req.body; // req.query not allowed
}
request({
uri: "https://my-account-name.wufoo.com/api/v3/forms/f8dssdsdv00lg5kph/entries.json",
method: "POST",
auth: {
'username': 'xxxxxxx',
'password': 'yyyyyyy',
'sendImmediately': false
},
form: {
'Field5': data.name,
'Field1': data.email,
'Field2': data.phone,
}
}, function (error, response, body) {
res.send({
body,
response,
error
})
});
})
module.exports = {
path: '/api/postcontactform',
handler: app
}
Этот новый код на стороне сервера, который я затем могу вызывать во внешнем интерфейсе, вот так:
async onSubmit() {
const postUrl = '/api/postcontactform'
const formFields = {
name: this.name,
email: this.email,
phone: this.phone,
}
await this.$axios
.$post(postUrl, formFields)
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error)
})
}