在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  數(shù)據(jù)庫  HTML/ 數(shù)組應當如何存取在mysql?最好是node解決辦法

數(shù)組應當如何存取在mysql?最好是node解決辦法

我用了express去開發(fā)一些功能。然后到了數(shù)據(jù)存取這一步
前端頁面發(fā)送過來的數(shù)據(jù)這樣處理

var theData = {
    menu_id : theId,
    menu_type: theBoxer.find("select").val(),
    menu_name: theBoxer.find(".footName input").val(),
    menu_info: theBoxer.find(".footDescript textarea").val(),
    menu_pic : theBoxer.find(".theSelectImg").attr("src"),
    menu_price: theBoxer.find(".theNumberOfFoot input").val(),
    menu_stand : JSON.stringify(menu_stand),
    menu_property :JSON.stringify(menu_property)
};

然后路由這邊這樣處理:

//更改信息
router.post("/updateMenu",function(req,res){
    var connectDB = require('../models/getConnectDB');
    var theConnect =  connectDB.getConnect('admin');
    var orderInfo = req.body;
    var setString = '';
    setString += 'menu_type='+orderInfo.menu_type+', ';
    setString += 'menu_name=\''+orderInfo.menu_name+'\', ';
    setString += 'menu_info=\''+orderInfo.menu_info+'\', ';
    setString += 'menu_pic=\''+orderInfo.menu_pic+'\', ';
    setString += 'menu_price=\''+orderInfo.menu_price+'\', ';
    setString += 'menu_stand=\''+orderInfo.menu_stand+'\', ';
    setString += 'menu_property=\''+orderInfo.menu_property+'\'';
    var updateSql = 'UPDATE menu set '+setString+' WHERE menu_id = '+ orderInfo.menu_id +'';
    console.log(updateSql);
    theConnect.query(updateSql,function(err,results){
        if(err){
            console.log('errinfo='+err.message);
            res.send({success:false,msg:"operate fail"})
        }
        theConnect.end();
        res.send({success:true,msg:"operate success"});
    });   
})

存的時候是成功了,但是拿出來的時候,格式不正確。。不能正確解析json

"[{'standName':'但是防守對方','stand_price':'的方式發(fā)送','stand_less':'10000'}]"
回答
編輯回答
涼汐

咳咳,老朋友來了。

1.首先是存儲的問題,存儲數(shù)組可以使用字符串的一個字段來存,將數(shù)組 JSON.stringify()序列化之后存成字符串。
2.建議使用Sequelize這個orm庫,一是封裝很多很方便的sql操作,也可以用原生sql,二是避免sql注入。
3.express響應json直接用res.json(obj)。
4.上述代碼的query的if err那里建議加上return,因為沒有用else,會導致響應兩遍而報錯 Can't set headers after they are sent

emmmm

2018年9月9日 17:16