将#in href用于从onclick事件执行HTTP POST的"正确"方式?

Jer*_*lin 1 html ruby jquery http sinatra

我已经看到很多将#放在链接的href属性中的示例,以便让浏览器触发onclick事件.我最近在Ruby Sinatra应用程序中自己做了这个.我现在注意到的是当我从服务器端代码内部重定向到'/'时(通过303响应),浏览器中的URL仍然具有#的结尾.

这是没有表单元素的帖子的"正确"方法吗?

<a href='#' onclick="$.post('/test1/69')">add</a> 
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

正确的方法是使用渐进增强.你应该建立有用的东西.

在这种情况下,最好的方法可能是从<form>包含提交按钮开始.然后将它们设置为您想要的样式(因此表单是内联的,按钮就像一个链接).然后submit使用不显眼的JS添加一个处理程序到AJAXify它.