js中同一个onclick绑定了两个js方法出现的问题

时间:2023-03-08 19:35:48
js中同一个onclick绑定了两个js方法出现的问题

问题

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加上同步设置来尝试一下。