我使用的是Sails.js(基于Express),我发送的form input
名为length
的{{1}} value
'1000'
1}},像这样:
<select name="length">
<option value="1000">1000</option>
</select>
服务器端,我做了一些测试,这就是我得到的
req.param('length'); // returns 0
req.params.length; // returns 0
req.params.all() // returns { length: '1000' }
我还检查了开发人员控制台的网络标签,我看到POST
请求正在制作,其中包含length = "1000"
的参数。
要么我错过了一些非常明显的东西,要么这是一个奇怪的故障。 为什么会发生这种情况?如何获得长度值而不是获得&#34; 0&#34;?
感谢。
答案 0 :(得分:1)
“长度”是您should avoid when accessing objects的单词。所以,你不应该试图直接访问“长度”(即obj.length
)。您可能应该将基础属性名称更改为@jaumard提及的quantity
之类的安全名称:
<select name="quantity"></select>
然后您可以访问req.params.quantity
。
答案 1 :(得分:1)
只需按myLength
重命名您的选择,因为length
是一个JavaScript关键字,这会让您感到困惑。
编辑:
抱歉length
不是关键字,但在javascript值/对象(如字符串,数组)中,默认情况下可以设置属性length
。
感谢Felix Kling的更正