我有一系列代表不同形式的输入:

<form id="myform">

    <div id="item1">
        <label> Name </label><input name="item1" type="text" value=""/>
    </div>

    <div id="item2">
        <label> Name </label><input name="item2" type="text" value=""/>
    </div>

    <div id="item3">
        <label> Name </label><input name="item3" type="text" value=""/>
    </div>
</form>

<script>
     $.post("/url/", $("#myform").serialize(), function(){});
</script>

发布时,是否可以保证我将按照表格中显示的顺序接收数据?我已经对其进行了测试,并且确实按该顺序返回了item1,item2,item3,但是可以安全地假定这一点吗?

最佳答案

这是一个棘手的问题。 The serialize documentation没有说任何关于订单的信息,但是说了:



该符号的RFC RFC 1867指出:



使用jQuery的a really old version(v1.2.1)和the current version(v1.11.0)的经验结果均显示了保留的顺序。

因此,我想说,即使jQuery文档不是很明确,但它对“标准URL编码表示法”的引用结合了RFC和行为的稳定性表明您可以依靠它。如果要更改(这似乎不太可能,jQuery通常按文档顺序执行操作),我认为可以合理地将其视为错误。

10-05 20:37
查看更多