node.js+express 获取客户端dojo.put 的数据问题?

听风者 发布于 2013/04/27 17:59
阅读 1K+
收藏 0

问题比较小白,各位海涵。

客户端dojo

服务端 node.js+express

需求这样。客户端调用

xhr.put({
            url: "workspace/project1/doc/123.html",
            putData: "ssssssssssssssss",
            handleAs: "text",
            contentType: "text/html"
        });

期望在服务端对应目录生成123.HTML这个文件,数据为putData里面的。

服务端怎么搞?目前服务端代码如下。

app.put('*.*',function(req, res){
    console.log(req.params);
    console.log(req.putData);

    //收到数据调用 fs模块刷磁盘。 不知道怎么写了?
});
请指教????

加载中
0
听风者
听风者

摸索出来了。补充一下在。

如果是带参数方式如 123.html?id=aa&name=xxx 这种常规拿即可。如果直接put数据 即

xhr.open("put","123.html",ture);

xhr.send("aaaaaa");//

要获取send参数的话。服务端修改如下即可。

app.put('*.*',function(req, res){
    var putData = "";
    req.on("data", function(postDataChunk) {
        putData += postDataChunk;
    });
    req.on("end", function() {
        console.log("all data is '" + putData + "'.");
        //返回标示
        res.end("ok");
    });

0
shuaia
shuaia
req.param('paramkey')获取请求参数 req.params.paramkey用于取得URL中用:paramkey占位符表示的参数。 如果你的请求参数中的报文格式是putdata=sssssss,那么req.param('putdata')来获取。如果sssssss=空是报文,那么用req.param('ssssss')
听风者
听风者
req.body 和req.param 都是undefined 截取了下报文。最后是数据,但怎么获取呢? PUT http://127.0.0.1:3000/workspace/project1/doc/123.html HTTP/1.1 .....太长了 省略 Content-Length: 16 Connection: keep-alive ssssssssssssssss
返回顶部
顶部