我在研究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。所以你是不是找錯了表單提交後的處理邏輯?