阻止直接从地址栏执行代码

bud*_*apa 0 java servlets

这是一个BooksController?deleteBId=240请求从表中删除行的代码.当我button从页面中按删除时,会出现JavaScript确认对话框,我可以点击YesNo.如果我不小心按了删除按钮会很有帮助.但是,如果我通过按Enter键直接从地址栏执行,则不会出现确认框,并且该行将被删除.有什么办法可以防止这种情况发生.

Kri*_*ris 5

是的,将此实现为POST请求,而不是GET.

任何可能产生服务器副作用的HTTP操作都应该是POST(或者可能是DELETE,但很少使用).GET仅应用于没有任何副作用的请求.

有关来自W3Schools的POST vs GET的更多信息:http://www.w3schools.com/tags/ref_httpmethods.asp

在HTML POST请求通常是通过提交其method属性设置为POST 的表单来完成的.您可以让JavaScript触发提交.