我在研究Nodeclub代码,其实看到更新setting这个页面。
<form id='change_pass_form' action='/setting' method='post'>
....
<input type='hidden' id='action' name='action' value='change_setting' />
</form>
然后Controller那里
//......
var action = req.body.action;
if (action === 'change_setting') {
}
//......
这是为什么不是判断action等于setting,是别名?
你搞错了。
表单里的"/setting"和你说的action是两个不一样的东西。
/setting的写法是一种url简写的方式,如果你的域名是mydomain.com那么“/setting”就相当于"http://mydomain.com/setting",这是一个url。
而在你的controller里, action=req.body.action应该是获取表单里的name等于action的表单域的值。
在你的例子里就是获取下面这个隐藏域的值:
其实action就相当于获取post数据里的action值,对于php就是$_post['action']。
ps: 这里action的值是change_password,不是change_setting。所以你是不是找错了表单提交后的处理逻辑?