控制器没有从Ajax URL调用?

时间:2013-03-14 11:07:42

标签: javascript ajax jsp spring-mvc

下面的Ajax函数应该调用Controller类。控制器未被调用。只有generateExcel中的第一个警报才会被打印。

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";
 }  

1 个答案:

答案 0 :(得分: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条目