jQuery post 回调函数不执行怎么办? 下面本篇文章给大家介绍一下 jQuery Ajax Post 回调函数不执行问题的解决方法. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
jQuery Ajax Post 回调函数不执行问题的解决方法
今天在使用 Ajax Post 方法时, 发现无论如何回调函数就是不执行, 最后通过万能的百度解决了该问题!
1, 前台代码
- $.post('${pageContext.request.contextPath}/user_deleteUser',{uid:row.uid},function(result){
- if (result.errorMsg){
- $.messager.show({
- title: 'Error',
- msg: result.errorMsg
- });
- } else {
- $('#dg').datagrid('reload');
- }
- },'json');
2, 后台代码
- public String deleteUser() {
- int count = userDao.deleteUser(model.getUid());
- try {
- PrintWriter writer = response.getWriter();
- if(count<=0) writer.write("{'errorMsg':'删除失败'}");
- else writer.write("{'success':'删除成功'}");
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
很明显前台代码并没有什么问题, 后台代码在逻辑上貌似也没什么问题, 最后百度得知回调的 JSON 数据格式问题, 导致回调函数一直无法执行, 原来 JSON 数据都要用双引号!
我的:{'hello':'world'}
标准:{"hello":"world"}
由于 String 不能双引号嵌套使用所以我们用转义符即可
{\"hello\":\"world\"}
大功告成!
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/17065.html