Ajax結合THymeleaf使用

<script type="text/javascript">
        //通過$("標籤"),也可以使用id的點擊事件
        $("a").click(function () {
        //var id = [[${book.getBook_id()}]];這裡是thymeleaf在外部取值
        //var category = [[${book.getBook_category()}]];
        $.ajax({
    //非同步請求的url,參數是data,後台也是走Controller
            url : "//localhost:8080/toModuleOne",    
            type : "GET",
            headers:{"Content-Type":"application/json;charset=UTF-8"},
            data: { "id": [[${book.getBook_id()}]], "category": [[${book.getBook_category()}]] },
            success: function(data) {//ajax請求成功後觸發的方法
                alert('請求成功');
            },
            error : function(data){
                alert("請求失敗!");
            }
        });
    });
</script>
//使用點擊事件,執行方法如果頁面中有多個相同的方法,只識別最後一個(我在th:each遍歷時以下a標籤生成多個,但是只執行最後一個)
 <a onclick="myFunction()" th:text="${book.getBook_name()}"></a>
 function myFunction() { ...

//使用id出發點擊事件,定義多個相同id也只識別一個
 <a id="a"  th:text="${book.getBook_name()}"></a>
$("#a").click(function () { ...

////使用點擊事件,執行方法傳參(其他方式的傳參一直失敗)
<a onclick="myFunction(this.id,this.name)" th:id="${book.getBook_id()}" th:name="${book.getBook_category()}" th:text="${book.getBook_name()}"></a>

<script type="text/javascript">
    //接受參數
    function myFunction(id,category) {
        $.ajax({
            url : "//localhost:8080/toModuleOne",
            type : "Get",
            headers:{"Content-Type":"application/json;charset=UTF-8"},
            data: {"id": id,"category": category},
            dataType : "html",
            success: function(data) {//ajax請求成功後觸發的方法
                //重新載入頁面window.location.reload();
document.write(data);//data就是非同步請求執行Controller後,返回的數據,這裡是整個頁面(所有標籤和數據) document.close();//這裡需要關閉,不然頁面會疊加

//或者使用下面的方式替換頁面,不過新的頁面js樣式可能會失效: //標籤:$("body").html(data); //id:$("#content-wrapper").html(data); }, error : function(data){ alert("請求失敗!"); } }); }; </script>