我是NodeJS / Express的新手..
所以我创建了一个简单的CRUD程序,但是我收到一个错误,错误不在我的查询中,而是在我的路线中。
<a href='edit/#{data.id}'>Edit Data</a>
所以,如果我尝试去编辑页面,则网址为localhost:3000/edit/(id)
我的更新表单如下:
<form action='update-data'>
提交表单更新后,url
应该是这样localhost:3000/update-data
但我的url
是这样的:localhost:3000/edit/update-data
所以错误显示update-data
路由未定义
如何解决我的问题?感谢
答案 0 :(得分:1)
如果您希望表单提交转到http://localhost:3000/update-data
,请更改您的表单标记:
<form action='update-data'>
到此:
<form action='/update-data'>
当您在网址上没有前导/
或http://
时,它会变为相对页面,这意味着浏览器会使用当前网页网址的路径,在您的情况下为localhost:3000/edit
浏览器只会将update-data
添加到其中,您最终得到localhost:3000/edit/update-data
。按照我的建议更改表单标记,URL现在将是域相对的,而不是页面相对的,因此不会使用当前页面的路径(仅使用当前页面的域和协议)。