jsp+struts2+jquery ajax返回Internal server error

架构: struts2+jsp+jquery
关键代码:
jQuery.ajax({
url: 'business/xxxx.action',
data: 'id='+id,
type: 'POST',
dataType:"json",
error: function(request,textStatus,errorThrown) {

            alert(errorThrown);  //前台打出:internal server error
            alert(request.status); //前台打出: 500
            alert(request.readyState); //前台打出:4
            alert(textStatus);//前台打出: 空字符串
        },

1.后台程序不报错,返回的json字符串也没有问题(已跟踪过代码)
应该是struts往前台传值的时候出了问题,可是看不到报错,不得而知
2.怀疑是json长度的问题,因为如果把长度改小,就可以正常显示数据,不会走error方法了
所以,和json格式也无关。

求问到底怎么修改?

                JSONObject jsonObject = new JSONObject();  
        jsonObject.put("categorys", objectTypes);  

        JSONArray jsonArray = new JSONArray();  
        jsonArray.add(jsonObject);  
        System.out.println(jsonArray);  
        PrintWriter out = response.getWriter();  
        out.write(jsonArray.toString());  

这样返回的json对字符串的长度应该没有限制吧

用fiddler调试下,你的ajax发送的数据是否有问题。另外服务器也应该加上判断,而不是直接出错。

判断了两个可能性,
1.和struts2传输数据到前台的方式有关

2.和json字符串长度限制有关(奇怪的是其实也没有多长,数据库里length一下也只有2000+,一点都不长啊),
那么肯定有办法可以取消这个长度限制的,怎么取消是各问题

前台是都对某个控件的长度做了限制。

有人在吗??????????