2013-03-14 77 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