夏令 2015-08-10 08:41 采纳率: 100%
浏览 1709
已采纳

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格式也无关。

求问到底怎么修改?

  • 写回答

5条回答 默认 最新

  • inc1ud3 2015-08-10 10:22
    关注
                    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对字符串的长度应该没有限制吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2015-08-10 09:02
    关注

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

    评论
  • 夏令 2015-08-10 09:10
    关注

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

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

    评论
  • 觅夜的黑 2015-08-11 01:46
    关注

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

    评论
  • 夏令 2015-08-12 01:19
    关注

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

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 我需要在PC端 开两个抖店工作台客户端.(语言-java)
  • ¥15 有没有哪位厉害的人可以用C#可视化呀
  • ¥15 可以帮我看看代码哪里错了吗
  • ¥15 设计一个成绩管理系统
  • ¥15 PCL注册的选点等函数如何取消注册
  • ¥15 问一下各位,为什么我用蓝牙直接发送模拟输入的数据,接收端显示乱码呢,米思齐软件上usb串口显示正常的字符串呢?
  • ¥15 Python爬虫程序
  • ¥15 crypto 这种的应该怎么找flag?
  • ¥15 代码已写好,求帮我指出错误,有偿!
  • ¥15 matlab+波形匹配算法