用vue-resousce发送数据到后台时报错404

发布于 2022-09-06 11:12:36 字数 2051 浏览 27 评论 0

用vue+node写了一个简单的登录注册,实现注册时把数据发送到后台结果chrome控制台下看到报错404,如图:
图片描述

注册界面组件的相关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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月寒剑心 2022-09-13 11:12:36
  1. 你的路由里只有post, 没有post之后会怎么样,比如重定向到哪里之类的。我猜你的代码是表单提交之后浏览器转圈。超过vue-resource默认的超时时间显示一个404吧。
  2. 建议使用axios替换vue-resource
梦里°也失望 2022-09-13 11:12:36

在main.js中引入:
import VueResource from 'vue-resource'
Vue.use(VueResource);
同时index.js中module没有导出,加上:module.exports = app;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文