2012-01-13 62 views
0

我正在使用jquery调用ajax调用数据库,该数据库显示div中返回的记录。这工作正常,但我使用的破解w3c验证,以通过参数传递给ajax调用(即ID从数据库中检索记录)的破解为jQuery ajax数据添加html参数

我的超链接列表是通过获取从数据库中选择有效的类别并输出带有诸如'blah.php?cat_id = 6'等参数的超链接。 黑客也只是在每个标签中都有cat_id = x(其中x是类别id),然后jquery将其传递到ajax调用中的后端。

有没有办法让这个数据到ajax调用没有像我这样在标签内设置?如果超链接,我不能使用jquery创建列表,因为我希望它在JS被禁用时无缝地回退。 ids不会从数据库中顺序出来,所以虽然jquery data()函数似乎是要走的路,但我无法弄清楚如何获得要分配给每个DOM元素的类别id(没有凌乱的正则表达式解析从字符串的URL参数)

感谢 亚伦

回答

4

您应该使用HTML5 data-*属性:

<a data-cat-id="6" href="..."> 

然后,您可以使用jQuery的data API阅读

$(this).data('cat-id') 
+0

即使文档类型不是HTML 5,这也是安全的。 – dgvid 2012-01-13 21:48:18

+0

如果js被关闭,这种方式仍然有效吗?他将如何将'cat_id'传递给php脚本。 – 2012-01-13 21:51:07

+0

@Interstellar_Coder:他也需要它在'href';这是没有办法的。复制ID比分析URL并添加对URL格式的依赖关系要好。 – SLaks 2012-01-13 21:54:22