【nodejs】使用put方式向后端提交数据

页面代码:

复制代码
<!DOCTYPE html>
<html lang="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <head>
  <title>Put data to db</title>
 </head>

 <body>
  <form id="form1">
    用户名:<input type="text" id="username" name="name" value=""><br/>
    密码  :<input type="password" id="userpswd" name="pswd" value=""><br/>
    <input type="button" value="提交" onclick="submitData();"/>
  </form>
 </body>
</html>
<script type="text/javascript">
<!--
function submitData(){

    var obj={
        name:document.getElementById("username").value,
        password:document.getElementById("userpswd").value
    };

    var xhr=new XMLHttpRequest();
    xhr.open('put','index.html',true);

    xhr.onload=function(e){
        if(this.status==200){
            alert(this.response);
        }
    };

    xhr.send(JSON.stringify(obj));
}

//-->
</script>
复制代码

后台代码:

复制代码
'use strict';

var express=require('express');
var http=require('http');
var fs=require('fs');
var querystring=require('querystring');

var app=express();

var mysql=require('mysql');
var pool=mysql.createPool({
    host:'127.0.0.1',
    port:'3306',
    database:'test',
    user:'root',
    password:'12345678',
});

app.get('/index.html',function(req,rsp){
    //rsp.writeHead(200,{'Content-Type':'text/html'});    
    //fs.createReadStream('index.html').pipe(rsp);
    rsp.sendFile(__dirname+'/index.html');// 与上两句意义相同
});

app.put('/index.html',function(req,res){
    req.on('data',function(data){
        var obj=JSON.parse(data.toString());// 取得Ajax提交的参数
        console.log(obj);

        pool.getConnection(function(err,connection){
            if(err){
                res.send('Can not connect to MySql DB');
                console.log(err);
            }else{
                var str;
                connection.query('insert into emp set ?',{name:obj.name,password:obj.password},function(err,result){
                    if(err){
                        str='Insert failed';
                    }else{
                        str="Insert succeed";
                    }

                    connection.release();
                    res.send(str);
                })
            }
        });
    });
});

app.listen(8080,"127.0.0.1");
复制代码

 

posted @   逆火狂飙  阅读(1346)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示