2017-10-09 18 views
0

當在控制器B中的視圖(B)中的字段中單擊時,我使用ajax顯示控制器(A)的編輯視圖(A)。grails,在視圖中調用編輯:A使用ajax從視圖B

這只是簡單的,但我不能讓它工作。通過以下腳本,沒有任何反應。

<script type="text/javascript"> 
     $(document).ready(function() { 
      $(document).on('click', '.prodID', function (event){ 
       $.ajax({ 
        url: '${g.createLink(controller:'prodBuffer', action:'edit')}', 
        data: {id:this.id}, 
        type: 'post' 
       }).success(function (data) { 
         window.location = ${createLink(controller:'prodBuffer',action:'edit_2')}; 
       }); 
      }); 
     }); 
    </script> 

這裏是控制器prodBuffer編輯操作:

def edit_2() { 
    println("edit_2 - parms: "+params) 
    def prodBuffer = ProdBuffer.get(params.id) 
    def suppliers = Supplier.list() 
    def plannedVolumes = prodBuffer.plannedVolumes 
    println(">>> PlannedVolumes: "+plannedVolumes) 
    render (view: "edit_2", model:[prodBuffer: prodBuffer, plannedVolumes: plannedVolumes, sawMills:suppliers]) 
} 

def edit(ProdBuffer prodBuffer) { 
    println("ProdBuffer - Edit - params: "+ params) 
    def suppliers = Supplier.list() 
    def plannedVolumes = prodBuffer.plannedVolumes 
    println("%%% PlannedVolumes: "+plannedVolumes) 
    respond prodBuffer, model:[plannedVolumes: plannedVolumes, sawMills:suppliers] 
} 
+0

'編輯'是你的動作還是gsp? –

+0

使動作使用阿賈克斯和gsp分開查看 –

+0

編輯是行動,但也是視圖。那是錯的嗎? – larand

回答

1

當設置window.location嘗試添加引號:

window.location = "${createLink(controller:'prodBuffer',action:'edit_2')}" 

沒有他們,我的JavaScript的瀏覽器插件是報告與常規錯誤表達標誌。

+0

這是工作。但這個問題可能是我曾問過的最愚蠢的問題。我已經將我的項目轉換爲使用數據表(您的建議),這是一個完美的命中,但也造成了新的問題。而且他們可能太多,我一次處理。但現在,我已經解決了有關此轉換的所有問題。我認爲這是一個愚蠢的問題的原因是,我需要做的就是在gsp中輸入這一行:​​ $ {pb.id}。對於這個問題,我很抱歉打擾你們。 – larand