[问题]POST提交对象到后台如何转换?
发布于 2年前 作者 a272121742 1929 次浏览

1.表单提交

    <form action="/index.html" type="POST">
        <input name="user.name"/>
        <input name="user.pass"/>
    </form>

例如我填写user.name=’test’,user.pass=’test’,后台只写一句

    console.log(req.postparam);

打印结果会是{'user.name':'test','user.pass':'test'} 2.如果是用ajax-post提交

    $.ajax({
        url:'/index.html',
        data:{
            user:{
                name:'test',
                pass:'test'
            }
        }
    });

打印结果也是一样的{'user.name':'test','user.pass':'test'} 求教如上

9 回复

juqery发送对象时的坑,rrestjs框架目前解析不了这种格式,我努力填坑中~

我希望表单的post提交也能像java一样按照对象的方式来解决

html表单的命名可以用数组形式

表单:

<form action="/index.html" type="POST">
    <input name="user[name]"/>
    <input name="user[pass]"/>
</form>

ajax:

$.ajax({
    type: "POST",
    data: $("form").serialize()
});

console.log(request.body):

{
    "user": {
        "name": "admin",
        "pass": "admin"
    }
}

今天上午更新了rrestjs v0.9.1,已经把这个问题解决了

神马情况啊?木有看懂。。。

@leizongmin 没什么大问题就是对post上来的数据有一种数据格式rrestjs框架以前没有正确解析,现在修复了

java中就是写user.name,user.pass,传递到后台就有了user对象和他的属性name、pass,如何不按照[]写法而按照.的写法也能正常解析,@snoopy吴哥这个做了吗?

@a272121742 2种情况都必须支持啊,正常key=val也是可以的,混搭也行

回到顶部