【问题标题】:How can I plot out url encoded content in node.js?如何在 node.js 中绘制 url 编码的内容?
【发布时间】:2014-04-17 19:34:01
【问题描述】:

我尝试绘制已编码的 JSON,但它不起作用。

这就是我在 iOS 的服务器端编码的方式:

NSString *query = [[NSString alloc] initWithBytes:[json bytes] length:[json length] encoding:NSUTF8StringEncoding];
        query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

这是我尝试注销内容的方式:

app.get('/:tableName', function(req, res) {
var schema = require('./schema/' + req.param('tableName'));
console.log('req.query ' + req.query);

这就是我现在在终端看到的:

req.query [object Object]
GET /System?%7B%0A%0A%7D 200 161ms - 2b

更新

谢谢你的回答,也许你能说我,我怎样才能改变两行的顺序,第一行资源第二行查询?是不是也可以用彩色的方式把第二行写出来?

现在顶行如下所示:

var http = require('http'),
express = require('express');
var app = express();
var mongoose = require('mongoose');
mongoose.connect('mongodb://xxx:xxx@xxx.mongolab.com:xxx/db1');
var morgan = require('morgan');
app.use(morgan('dev'));
var inspect = require('util').inspect;

更新

现在我用于彩色格式并根据要求写入日志:

app.use(morgan({format: 'dev', immediate: true }));

【问题讨论】:

    标签: objective-c node.js logging get decode


    【解决方案1】:

    您可以直接在变量上使用util.inspect()[1] 来获得对象的人类可读表示,或者您可以在变量上使用console.dir()[2]。

    [1]

    var inspect = require('util').inspect;
    
    app.get('/:tableName', function(req, res) {
      var schema = require('./schema/' + req.param('tableName'));
      console.log('req.query ' + inspect(req.query));
    });
    

    [2]

    app.get('/:tableName', function(req, res) {
      var schema = require('./schema/' + req.param('tableName'));
      console.dir(req.query);
    })
    

    【讨论】:

    • 默认情况下,morgan 会在响应完成时记录输出。否则你必须 app.use(morgan({ immediate: true })); 让它登录请求。
    • 谢谢,我在这里找到了其他选项:github.com/expressjs/morgan/blob/…
    猜你喜欢
    • 2011-09-27
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 2021-08-06
    • 1970-01-01
    • 2011-11-18
    相关资源
    最近更新 更多