jQuery中ajax方法无法执行回调函数问题

最近遇到一个问题,发现使用jquery的ajax方法时,回调方法无法执行,而使用$.load()方法时却能正确返回数据。经过长时间调试最终发现是自己粗心大意,原来后台返回的是json数据,而返回的数据是使用字符串拼接为json数据,拼接时缺少了逗号分隔,导致返回的json数据格式错误,导致执行了error中的回调函数,并未执行success的回调函数。

错误的数据如下:

for (ZFMPA zfmpa : list) {
         json="{\"nbr\":\""+zfmpa.getPA001()+"\"\"date\":\""+zfmpa.getPA003()+"\"\"pn\":\""+zfmpa.getPA005()+"\"\"name\":\""+zfmpa.getPA006()+
                "\"\"unit\":\""+zfmpa.getPA007()+"\"\"base\":\""+zfmpa.getPA009()+"\"\"qty\":\""+zfmpa.getPA013()+"\"\"cases\":\""+zfmpa.getPA015()+
                "\"\"num\":\""+zfmpa.getPA017()+"\"\"wnum\":\""+zfmpa.getPA014()+"\"}";
         writer.println(json);
}

最后修改正确的返回格式,问题解决。

for (ZFMPA zfmpa : list) {
        json="{\"nbr\":\""+zfmpa.getPA001()+"\",\"date\":\""+zfmpa.getPA003()+"\",\"pn\":\""+zfmpa.getPA005()+"\",\"name\":\""+zfmpa.getPA006()+
            "\",\"unit\":\""+zfmpa.getPA007()+"\",\"base\":\""+zfmpa.getPA009()+"\",\"qty\":\""+zfmpa.getPA013()+"\",\"cases\":\""+zfmpa.getPA015()+
            "\",\"num\":\""+zfmpa.getPA017()+"\",\"wnum\":\""+zfmpa.getPA014()+"\"}";
        writer.println(json);
}