Play框架中的Ajax jsAction, jsRoute詳解

#{jsRoute/}

  • 引入jQuery
  • 示例 Put /users/{id} User.update
<script type="text/javascript">
    var updateUserRoute = #{jsRoute @Users.update(':id') /}
    $.ajax({
      url: updateUserRoute.url({id: userId}),
      type: updateUserRoute.method,
      data: 'user.name=Guillaume'
    });
</script>
  • @Users.update(’:id’) 表示調用Users這個Controller的update方法, :id 表示路由的參數,如果沒用動態路由可以爲空
  • updateUserRoute。url({id : userId})表示將路由拼接,效果爲 /users/userId
  • data的語法是jQuery的語法

jsAction

  • 引入jQuery
  • 不執行ajax請求
  • 示例 GET /Application/find?email=?&fullname=?
var listAction = #{jsAction @Application.find(':email', ':fullname') /}
   $('#res').load(
       listAction({email: 'a', fullname: 'ggg'}),
       function(data) {
           console.log(data);
       }
   )
  • 表示去查email=a, fullname=ggg的數據
  • 這種情況下一般返回HTML數據,JSON數據或者XML
  • 如果想執行POST請求,修改爲
$.post(listAction(), function(data) {
  $('#result').html(data);
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章