在href中存储POST请求的数据 – 不好的做法?

我正在编写一个node.js应用程序,并且有点担心如何构build发送到服务器的发布数据。 例如,当我想删除一个数据项时,我把这个项的id放在href属性中:

<a class='delete' href="1231">Delete this data</a> <!-- href is based on a variable I'm pulling from the server --> 

当单击该链接时,我会阻止默认操作,然后运行ajax请求:

 //On click + ajax body.on('click', '.delete', function(e){ e.preventDefault(); $.ajax({ type: 'POST', url: '/admin/report/detail/delete', data: {id: $(this).attr('href')}, success: function(){ //Success message }, error: function(){ //Error message } }); }); 

我想知道,以这种方式使用href属性是不好的做法吗? 如果是这样,那么存储这些数据的最好方法是什么?

改用数据属性。 将它们存储在href中并不是语义的,如果有时需要存储ID,以及在其他时间存储其他数据呢? 您可以根据需要创build任意数量的数据属性,并为其指定语义名称。

 <a class="delete" data-id="1231" href="#"> 

然后在你的javascript:

 ... data: { id: $(this).data('id') } ... 

要么

 data: { id: $(this).attr('data-id') } 

说实话,你总是要把要删除的logging的ID发送到服务器,但是你这样做。 即使你做数据属性,这不是问题,它是通过AJAX“通过电线”发送数据,所以人们可以看到ID。

你需要思考 – 好吧,这个ID可以改变,不pipe你用什么聪明,人们会find一种方法来改变它,并可能删除不同的客户ID …所以… 总是确保你做相关的安全检查服务器端即ie是当前login的用户能够删除通过发送的用户ID?