日期:2014-05-16  浏览次数:20613 次

jQuery ajax一直返回错误,附代码,帮找找错
js代码:

function marker(){
$.ajax({
type :"post",
url:"ajaxfindObject.action",
timeout : 50000,
data: "araid=",
error : function(XMLHttpRequest, textStatus, errorThrown) {   
             alert(XMLHttpRequest.status);   //弹出500
             alert(XMLHttpRequest.readyState);  //弹出4
             alert(textStatus);  //弹出 error
},
dataType : "json",
success : function(data){
 $.each(data,function(i,n){
 alert(i);
     if("attackList" == i){      
   alert(n.length);   
     } 
 });
}
});
}


action代码:

//这里是action的代码,ajax请求的action方法。返回的是attackList这个集合,并且生成了//getter和setter方法,
//上面在ajax中传入了一个参数,其实无用的,不过action还是有这个参数,但是没有生成//getter和setter方法,
public String ajaxfindObject(){
System.out.println("异步进入action获取攻击事件信息");
List<AttackEvent> list=attackMontorDAO.findByTime();
for (int i = 0; i < list.size(); i++) {
AttackEvent ae = list.get(i);
String sip = ae.getAttackerIp();
String eip = ae.getVictimIp();
String startip = ipSectionDAO.findCountryNameByIp(sip);
String endip = ipSectionDAO.findCountryNameByIp(eip);
ae.setAttackerIp(startip);
ae.setVictimIp(endip);
attackList.add(ae);
}
return SUCCESS;
}



struts.xml代码:


<action name="ajaxfindObject"  class="edu.xjtu.sei.skyeye.state.action.AttackMonitorAction" method="ajaxfindObject">
      <result type="json"></result>
</action>


这就是全部代码,找了一早半天没发现错在那了。也许当局者迷,大家一起帮忙找找谢谢啊
------解决方案--------------------
System.out.println("异步进入action获取攻击事件信息");
我想问,你这句打印输出的地方有没有执行。
------解决方案--------------------
500是你动态页有问题。。用浏览器直接访问ajaxfindObject.action看什么错误,修正了以后采用ajax请求,要不出什么错都不知道,或者alert responseText也一样

    error : function(XMLHttpRequest, textStatus, errorThrown) {   
             alert(XMLHttpRequest.responseTex);  //////////////////看输出什么内容,内容就是错误
             alert(XMLHttpRequest.status);   //弹出500
             alert(XMLHttpRequest.readyState);  //弹出4
             alert(textStatus);  //弹出 error
    },