问题:
js中如果同一个onclick绑定了两个js方法问题,即
<li onclick="f1(),f2()"></li>
两个方法f1,f2中都分别有一个ajax请求。
测试发现,经常有一个或两个ajax请求异常,通常是 显示状态码都是200请求成功,但是实际上,浏览器收不到返回参数,这就造成js报错 data is null 等等。
而且,在java后台,往前台写入json数据的方法也经常会报错,比如:
flush writer流时出错620015:APR does not understand this error code
关闭writer流时出错620015:APR does not understand this error code
java.lang.IllegalStateException:getWriter() has already been called for this response
等错误。
走前后台的debugger都未发现问题所在,百思不得姐。
最终解决方法:
将两个方法 f1,f2中的每个ajax都设置成同步请求。 问题解决,前后台都正常了。
这个问题的启示:
1、如果 一个onclick触发了多个方法,那么最好将每个方法中的ajax都设置成同步。
2、如果包含ajax的js方法报错,而又找不到代码问题,可以吧ajax加上同步设置来尝试一下。