2013-10-28 141 views
0

这里是我的Ajax代码Ajax无法正常工作?

$('.AllTaskDownloadButton').live('click', '.CheckBoxesForDownload', function(){ 

    var n = $("input:checked.CheckBoxesForDownload").length; 
    var arr=[] 
    for(i=0;i<n;++i){ 
     arr.push($($("input:checked.CheckBoxesForDownload")[i]).val()) 
    } 
    alert(arr) 
    //passing requestId to servlet 
    $.ajax({ 
     url:"/test/DownloadDeleteTask", 
     type:"POST", 
     dataType:'json', 
     data: {requestIds:arr, 
       operationType:'download' }, 
     success:function(result){ 
      alert(result); 
      dowloadTasks(); 
     } 
    });//ajax 

    }); 

,这里是我的servlet代码:

PrintWriter out = response.getWriter(); 

String operationType = request.getParameter("operationType"); 

if (operationType.equalsIgnoreCase("download")) { 

     out.print("download"); 

    }// if 

但我downloadTasks()是没有得到调用。

请帮忙解决这个问题?

+2

你有拼写错误? 'dowloadTasks'? –

+0

您是否看到成功回调中的警报?另外,它是“downloadTask()”还是“downloadTasks()”? ( –

+0

)即使这个警报没有得到调用:( –

回答

1

字符串化的Ajax调用的数据部分的JSON和添加的contentType:

$.ajax({ 
    url: "/test/DownloadDeleteTask", 
    type: "POST", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    data: JSON.stringify({requestIds:arr, 
     operationType:"download" 
    }), 
    success:function(result){ 
     alert(result); 
     dowloadTasks(); 
    } 
}); 
+0

感谢您的回应。:) –

+0

这实际上是否修复问题?您不应该需要对数据JSON对象进行串联化。 –

+0

数组在servlet中为空。 –