用vue-resousce发送数据到后台时报错504
用vue+node写了一个简单的登录注册,实现注册时把数据发送到后台,结果chrome控制台下看到报错504,后台上提示是代理出了问题:[HPM] Error occurred while trying to proxy request /api/user/addUser from localhost:8080 to http://127.0.0.1.8080/api/
user (ENOTFOUND)
如图:
注册界面组件的相关js代码如下:
<script>
export default {
data () {
return {
user: {
username: null,
password: null,
tel: null
}
}
},
methods: {
submit: function () {
console.log('username=' + this.user.username + 'password=' + this.user.password + ',tel=' + this.user.tel)
// 提交数据
this.$http.post('/api/user/addUser', {
username: this.user.username,
password: this.user.password,
tel: this.user.tel
}, {}).then((response) => {
console.log(response)
})
}
}
}
</script>
数据是拿到了而且也输出了就是传不过去,我觉得是post这里路径的问题,只是我不知道怎么写这个路径。。。目录与相关node的代码如下:
userApi.js的代码:
var models = require('../db')
var express = require('express')
var router = express.Router()
var mysql = require('mysql')
var $sql = require('../sqlMap')
// 连接数据库
var conn = mysql.createConnection(models.mysql)
conn.connect()
router.post('/addUser', (req, res) => {
var sql = $sql.user.add
var params = req.body
console.log(params)
conn.query(sql, [params.username.params.password, params.tel], function (err, result) {
if (err) {
console.log(err)
}
if (result) {
console.log(result)
}
})
})
module.exports = router
index.js的代码如下:
const userApi = require('./api/userApi')
const bodyParser = require('body-parser')
const express = require('express')
const app = express()
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))
// 后端路由
// 将请求都转发至userApi.js中处理
app.use('/api/user', userApi)
app.listen(8080)
console.log('success to listen the port 8080.......') // 已经成功监听8080端口
其他部分代码不重要就没列出来了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
少了个res.json()吧
首先这一段应该是要这样写的吧:
然后,可以使用
Postman
来调试你的后端接口。然后,在贴一下你的
webpack
的相关配置?