nuxt.js和axios不适用于express server

hvvq6cgz  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(382)

我正在尝试使用nuxt.js和mysql创建一个类似的系统,但它不起作用。
有我的组件描述一个类似的按钮后

<div class="post">
    <div class="post-details">
        {{ id }}
    </div>
    <div class="post-content">
        {{ content }}
        <form @submit.prevent="like">
            <button type="submit" class="likes">
                <i class='fas fa-heart'></i> 
                {{ likes_count }} 
            </button>
        </form>
    </div>
</div>
<script>
    import axios from 'axios'

    export default {
        props: ['id', 'content', 'likes'],
        data() {
            return {
                post_id: this.id,
                likes_count: 0
            }
        },
        methods: {
            like() {
                axios.post('http://localhost:4000/api/like', this.post_id) 
                .then(res => {
                    console.log(res)
                    this.likes_count++
                }).catch(res => {
                    console.log(res)
                })
            }
        }
    }
</script>

和我的路线更新数据库和增加喜欢列

app.post('/api/like', (req, res) => {
    const id = req.body.id
    database.query("UPDATE posts SET likes = likes + 1 WHERE id = ?"), [id], (err, rows) => {
        if(err) console.log(err)
        if(rows.affectedRows != 0) console.log(rows.affectedRows)
        res.json(rows)
    })
})

有什么问题?谢谢你的帮助。

x8goxv8g

x8goxv8g1#

乍一看:post-request参数应该是一个对象

axios.post('http://localhost:4000/api/like', {id: this.post_id})

是的,您应该显示错误日志(客户机和服务器)以获得任何帮助。

ifsvaxew

ifsvaxew2#

哦,我把动词换成了邮递的,它就行了!
我从nuxt开始,对api不太适应,谢谢你的帮助。

相关问题