Nodejs 一个简单的后台实例

学了两天的nodejs,写了一个简单的后台实例,还有配套的与后台进行交互的简单网页。
页面端使用了jQuery进行控制,
后台使用nodejs作为操控语言,使用express执行网络操作

整个工程结构如下:

根目录--------------
    |-package.json
    |-test.js
    |-public
        |-main.html
        |-add.html

Nodejs端,名字为test.js

// file name :test.js
var express             = require('express');
var app                 = express();
var bodyParse           = require('body-parser')
var cookieParser        = require('cookie-parser') ;
app.use(cookieParser()) ;
app.use(bodyParse.urlencoded({extended:false})) ;

// 处理根目录的get请求
app.get('/',function(req,res){
    res.sendfile('public/main.html') ;
    console.log('main page is required ');
}) ;

// 处理/login的get请求
app.get('/add', function (req,res) {
    res.sendfile('public/add.html') ;
    console.log('add page is required ') ;
}) ;

// 处理/login的post请求
app.post('/login',function(req,res){
    name=req.body.name ;
    pwd=req.body.pwd   ;
    console.log(name+'--'+pwd) ;
    res.status(200).send(name+'--'+pwd) ;
});

// 监听3000端口
var server=app.listen(3000) ;

main.html的代码如下

<html>

    <link rel="stylesheet" type="text/css" href="http://fonts.useso.com/css?family=Tangerine|Inconsolata|Droid+Sans">

    <style>
        div#test{
            font-family: 'Tangerine',serif;
            font-size: 48px;
        }
        p#link1{
            font-family: 'Tangerine',serif;
        }

    </style>

    <script src="//cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>

</head>
<body>

<div id="test">
    <h1>Main Page</h1>
</div>
<p>Register & Login</p>
<form action="test.jsp" method="post">
    账号 :
    <input type="text" id="name" />
    <br/><br/>
    密码 :
    <input type="text" id="pwd" />
    <br/><br/>
    &nbsp&nbsp&nbsp&nbsp&nbsp
    <div><a href="/add" id="add">EXTRA</a></div>
    <input type="button" value="Submit" id="x">
</form>

</body>

    <script type="text/javascript">

        var after_login=function(data,status){
            if (status=='success'){
                alert(data+'--'+status) ;
            }
            else alert('login refused') ;

        }

        $(document).ready(function(){
            $("#x").click(function(){
                var name    =   $("#name").val() ;
                var pwd     =   $("#pwd").val() ;
                $.post('http://127.0.0.1:3000/login',
                {
                    name    :   name ,
                    pwd     :   pwd
                },
//                        function(data,status){
//                            alert(data+'--'+status) ;
//                        }
                        after_login
                );
//                $.get('add',function(data,status){
//                    document.write(data) ;
//                }) ;
            });
        });
    </script>

</html>

add.html的代码如下

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<h1>This is an additional web page</h1>
<p>just for test</p>
</body>
</html>

启动项目:
cd 到项目目录,输入 node test.js,运行服务器
打开浏览器,输入127.0.0.1:3000,可得到如下页面
这里写图片描述

输入账号和密码,能得到弹出窗口,里面是服务器的返回值
这里写图片描述

点击EXTRA页面,能得到二级页面
这里写图片描述

无头浏览器指的是没有图形界面的浏览器,可以在后台运行并进行网页自动化操作。在Node.js中,可以使用Puppeteer库来实现无头浏览器功能。 Puppeteer是一个由Google开发的用于控制Chrome或Chromium浏览器的Node.js库。它提供了一组API,可以模拟用户在浏览器中进行的各种操作,例如页面导航、表单提交、截图等。 要使用Puppeteer,首先需要安装它。可以通过运行以下命令来安装: ``` npm install puppeteer ``` 安装完成后,可以使用以下代码来创建一个基本的无头浏览器实例: ```javascript const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); // 在这里执行一些操作,如页面导航、表单提交等 await browser.close(); })(); ``` 在这个例子中,我们使用`puppeteer.launch()`方法来启动一个浏览器实例,并使用`browser.newPage()`方法创建一个新的页面。然后,可以在`page`对象上执行各种操作。 例如,可以使用`page.goto(url)`方法导航到指定的网页,使用`page.type(selector, text)`方法填写表单字段,使用`page.click(selector)`方法点击页面元素,使用`page.screenshot(options)`方法截取页面截图等等。 最后,使用`browser.close()`方法关闭浏览器实例。 这只是Puppeteer的一些基本用法,还有更多高级功能可以探索。你可以查阅Puppeteer的官方文档以获取更详细的信息和示例代码。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值