2012-01-13 104 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