关于node.js使用上的问题
PHP中文网
PHP中文网 2017-04-17 13:18:39
0
5
179
PHP中文网
PHP中文网

认证0级讲师

reply all(5)
Ty80

这些个东西不是一下子就能学会的,要是以前不了解,一下子肯定不理解,沉住气,慢慢来!
要是你就想看一看ajax执行的效果,我给你个node的小程序,可以看一看ajax请求时服务端收到了什么

/*
 * Author: ikether
 * Email: ikether@126.com
 *
 */

var http = require('http');


var server = http.createServer();
var count = 0;

server.on('request', function(req, res) {
    req.body   = [];
    var length = 0;

    req.on('data', function(chunk) {
        req.body.push(chunk);
        length += chunk.length;
    });

    req.on('end', function() {
        req.body = Buffer.concat(req.body, length);
        
        console.log('\n[', count++, ']', '[', new Date(), '] HTTP', req.method, req.url);
        console.log('-------------------------- header -----------------------------');
        for (k in req.headers) {
            process.stdout.write('- ' + k + ': ' + req.headers[k] + '\n');
        }
        console.log('--------------------------- body -------------------------------');
        console.log(req.body.toString('utf8'));
        res.setHeader('Access-Control-Allow-Origin', '*');
        res.end('OK');
    });

    req.on('error', function(err) {
        console.log(err);
    });
});

server.on('error', function(err) {
    console.log('error:', err);
});

server.listen(8123);

将上面的代码保存为raw.js文件。

  • 在unix-like操作系统下打开终端输入node raw.js回车启动服务

  • 在Windows下在开始菜单中找到Node的控制台程序打开,cd 到存放raw.js文件的目录输入node raw.js回车启动服务

对应的网页例子:

<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8'/>
        <title>test ajax</title>
    </head>
    <body>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
        <script>
            (function($) {
                console.log('hello');
                $.post('http://127.0.0.1:8123/', {abc: 'foo', age: 22}, function(data, status) {
                    console.log(data);
                });
            })(jQuery);
        </script>
    </body>
</html>

将上述HTML代码保存为raw.html双击打开浏览器执行,就会在控制台中看到如下类似的输出:

[ 6 ] [ Tue Jan 19 2016 12:46:09 GMT+0800 (CST) ] HTTP POST /
-------------------------- header -----------------------------
- host: 127.0.0.1:8123
- user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:43.0) Gecko/20100101 Firefox/43.0
- accept: */*
- accept-language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
- accept-encoding: gzip, deflate
- content-type: application/x-www-form-urlencoded; charset=UTF-8
- content-length: 14
- origin: null
- connection: keep-alive
--------------------------- body -------------------------------
abc=foo&age=22

就是浏览器执行$.post('http://127.0.0.1:8123, {abc: 'foo'....等代码时的实际请求

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!