AJAX取form post 寫入mysql 問題

查了很久還是沒辦法通過ajax寫進mysql資料表裡面

html

<form method="post" action="/">
    <input type="hidden" name="time" :value="new Date()">
    input type="text" name="name" id="name" placeholder="Name(requied)" v-model="name" :disabled="!inputable" />
    input type="submit" value="Send Message" class="special" v-show="canclick" @click="sendmsg()" :disabled="validbtn" /> </li>
</form>

<scripts>

        methods: {
            sendmsg: function() {
                $.ajax({
                    url: './assets/js/db.js',
                    type: 'post',
                    data:{
                        name: $('#name').value ,
                        email: $('#email').value,
                        content: $('#message').value,
                        time: $('#time').value
                    },
                    success: function(){
                        this.canclick = false
                        this.reply = true
                        this.inputable = false
                        if(data.message=='success'){
                          console.log('request ok')
                      }
                    }
                })

            }
        },

db.js

var mysql= require('mysql')

var bodyParser = require('body-parser');
app.use(bodyParser.json());

var connection = mysql.createConnection({
    host: 'test.online',
    user: 'test',
    password: '12345',
    database: 'test_reply',
})

connection.connect();


var data = {
    name: req.body.name,
    email: req.body.email,
    content: req.body.content,
    time: req.body.time
};

connection.query('INSERT INTO `users` SET ?', data, function(error){
    if(error){
        alert('sorry, please try again later...');
        throw error;
    }
});

connection.end();

只是想把form的資料寫入資料庫以後可以看這樣的功能
照網上教程也一步一步做了
vue跟console也沒報什麼錯, 是我哪裡沒設置到 ?

新手第一次請見諒

請各位大神相助 謝謝

阅读 3.8k
2 个回答

你这个,是node服务端的问题,和浏览器端应该没什么问题.
新手建议使用express把,可以减少很多问题.
你好像是没有用express框架把,我看你db.js中,app.use(bodyParser.json());这个app是从哪来的?自己多打就个console.log调试下把

  1. console.log(data) 看下 data 是否正确

  2. 好像 SQL 插入语句不是 INSERT INTO users SET,而是 INSERT INTO users(id,name) VALUES(0,0) 这种形式吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题