【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");

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Node.js:首先需要安装Node.js,可以从官网下载并安装。 2. 创建项目:在命令行中进入项目目录,使用npm init命令创建一个新的项目。 3. 安装依赖:使用npm install命令安装需要的依赖,如express、body-parser等。 4. 创建服务器:使用express框架创建一个服务器,监听请求并返回响应。可以使用app.get()和app.post()等方法设置路由和处理请求的函数。 5. 连接数据库:如果需要连接数据库,可以使用mongoose等库连接MongoDB或者Sequelize等库连接MySQL等关系型数据库。 6. 部署上线:使用pm2等工具将后端项目部署到云服务器上线。 7. 测试接口:使用Postman等工具测试接口是否正常工作。 示例代码: ``` const express = require('express'); const bodyParser = require('body-parser'); const mongoose = require('mongoose'); const app = express(); const port = process.env.PORT || 3000; app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); mongoose.connect('mongodb://localhost:27017/mydb', { useNewUrlParser: true, useUnifiedTopology: true }).then(() => { console.log('Database connected'); }).catch((err) => { console.log('Error:', err); }); app.get('/', (req, res) => { res.send('Hello World!'); }); app.post('/login', (req, res) => { const { username, password } = req.body; // Check username and password // If valid, return JWT token // Otherwise, return error message }); app.listen(port, () => { console.log(`Server listening on port ${port}`); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值