2012-10-26 175 views
0

我有一个请求对象。如何使用vertx请求对象获取post参数?

我试着做

var str; 
for (var i in this.request) 
{ 
     str += i + "\n"; 
} 

,并得到: 头 PARAMS 响应 的getClass 等于 查询 类 的hashCode 等待 URI 暂停 简历 endHandler bodyHandler 通知 路径 的DataHandler 方法 的toString exceptionHandler的 notifyAll的

张贴参数无处找到。任何人都可以透过这个神秘莫测的光芒?

params()和headers()不包含任何东西。

+0

的解决方案是一个的DataHandler添加到请求。 –

回答

6

使用bodyHandler(这里假设你发布JSON):

req.bodyHandler(function(data) { 
    var postData = JSON.parse(data.toString()); 
}); 
0

这可以使用在HTTP请求的formAttributes来完成。这里是在阶示例

req.expectMultiPart(true) //Will expect a form 
    req.endHandler({ 

    req.formAttributes() //This is used to access form attributes 

    //some code with attributes 

    }) 

参考:http://vertx.io/core_manual_java.html#handling-multipart-form-attributes

+0

这段代码正在抛出'请求已被读取'异常 –

+0

只应在您已经阅读请求时才会发生。这是在vertx 2中添加的助手,用于协助http形式。代码直接来自一个工作项目。也许你可以用你确切的问题打开另一个问题? –