2013-03-14 66 views
0

下面的Ajax函數應該調用Controller類。控制器沒有被調用。只有獲得打印的generateExcel中的第一個警報。控制器沒有從Ajax URL調用?

function generateExcel(bIndex){ 
    alert("Inside generateExcel of export_path -> branchIndex = "+bIndex); 

    $.ajax({ 
    type:"post", 
    url:"generate/exportexcel.do?branchIndex="+bIndex, 
    dataType:"json", 
    success:function(data){ 
     alert("Inside export_path generateExcel()"+data.length); 
    } 
    }); 
} 

控制器:

@RequestMapping("/generate/exportexcel.do") 
public String docGeneration(String branchIndex) { 

    System.out.println("branchIndex ==> " +branchIndex); 
    try{ 
     DocGenerator.generateExcel(branchIndex, order, filename, categoryDao); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 
    return "message/result"; 
} 
+0

檢查您的瀏覽器控制檯對任何錯誤 – 2013-03-14 11:10:58

+0

控制器動作可以被緩存 – karaxuna 2013-03-14 11:13:39

+0

清除緩存和在控制檯上也沒有發現錯誤。 – kumar 2013-03-14 11:20:05

回答

0

如果你寫的代碼一樣

<servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 

在web.xml

那麼我認爲沒有必要在下面一行寫.do ..

@RequestMapping("/generate/exportexcel.do") 

因此將其更改爲

@RequestMapping("/generate/exportexcel") 

如果這不是問題的答案,然後顯示您的web.xml文件的servlet-mapping進入

+0

感謝薩加的建議!將實施.. – kumar 2013-03-14 15:50:18

+0

嘿..它工作?如果不是,你可以請顯示你的web.xml文件的servlet映射條目 – 2013-03-15 06:06:15

+0

你可以發佈你的答案嗎? – 2013-03-18 07:31:18