ajax不运行success回调而是运行error回调
调试代码遇到一个问题,就是前台运行删除操作后,controller返回数据,但前台接收时,ajax不运行success回调,总是弹出失败的对话框.接收数据类型是json.
先看看我的前台代码.
if (rows) {
$.messager.confirm('警告', '确定删除吗?', function(r) {
if (r) {
$.ajax({
type : 'post',
url : 'deleteStudentTeachClass',
data : {
"ids" : ids
},
dataType : 'json',
traditional : true,
success : function(result) {
$.messager.alert("提示", "恭喜您,删除成功", "info");
$("#dg").datagrid("reload");
},
error : function(msg) {
$.messager.alert("提示", "操作失败", "info");
$("#dg").datagrid("reload");
}
});
}
});
}
以下是后台controller代码
@RequestMapping(value = "/deleteStudentTeachClass")
public void deleteStudentTeachClass(String ids, HttpServletRequest request,
HttpServletResponse response) throws Exception { String dataBaseName = "itoo_platform";
String[] strArray = null;
strArray = ids.split(",");
Boolean flag = false;
String result = "false";
try {
flag = schoolTeachingBean.deleteStudentTeachClass(strArray,
dataBaseName);
if (flag == true) {
result = "success";
}
} catch (RuntimeException e) {
e.printStackTrace();
}
outToJson.outJson(response, result);
}
通过查询发现dataType例如以下的说明:
"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
也就是说jquery1.4版本号以后对json格 式要求很严格,要满足json.org站点定义的格式才干运行success回调,否则都会出错。无法解析返回的json数据.我看了下返回到前台的字符串,的确不是严格的json格式.
于是把后台返回值改成了这样:
if (flag == true) {
result = "{\"result\":true}";
}
但不管返回true还是false都运行success回调,这让我更郁闷.百思不得其解.
终于把前台推断改成了这样:
if (rows) {
$.messager.confirm('警告', '确定删除吗?', function(r) {
if (r) {
$.ajax({
type : 'post',
url : 'deleteStudentTeachClass',
data : {
"ids" : ids
},
dataType : 'text',
traditional : true,
success : function(result) {
if(result=='true'){
$.messager.alert("提示", "恭喜您,删除成功", "info");
$("#dg").datagrid("reload");
}
else{
$.messager.alert("提示", "操作失败", "info");
$("#dg").datagrid("reload");
}
}
});
}
});
}
ajax不运行success回调而是运行error回调的更多相关文章
- ajax不执行success回调而是执行了error回调
最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数. 附上代码如下: JScrip ...
- jquery ajax 后台响应成功,返回正确json但不执行success方法,执行error的问题
昨天被这问题卡了好几个小时.查看http状态码:是200.而且返回了预想的json字符串.但执行的是error方法,不执行success方法.在网上查了一下,才发现是后台页面返回的json字符串格式不 ...
- Zend Server安装后首次运行就出现Internal Server Error的解决
无论是使用哪个版本的Zend Server来搭建PHP服务器,首次运行都会出现Internal Server Error的错误,对很多新手而言,每当看到这种错误时,那一刻内心绝对都是崩溃的.然而,这个 ...
- 解决IIS7运行ASP提示错误:An error occurred on the server when processing the URL. Please contact the system administrator
原文:解决IIS7运行ASP提示错误:An error occurred on the server when processing the URL. Please contact the syste ...
- Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1. Start heka ...
- VMware运行gazebo,关于vmw_ioctl_command error Invalid argument错误
运行rviz 时报 VMware: vmw_ioctl_command error 无效的参数. 这个错误. 或者 运行gazebo,关于vmw_ioctl_command error Inval ...
- 新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo
新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo ...
- 运行android模拟器,emulator: ERROR: x86 emulation currently requires hardware acceleration!
运行android模拟器,emulator: ERROR: x86 emulation currently requires hardware acceleration! 问题: 运行android模 ...
- 终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误
终于解决了Linux下运行OCCI程序一直报Error while trying to retrieve text for error ORA-01804错误 http://blog.csdn.net ...
随机推荐
- WScript.Shell对象的 run()和exec()函数使用详解
WScript.Shell对象的 run()和exec()函数使用详解 http://blog.sina.com.cn/s/blog_6e14a2050102v47g.html vbScript ...
- CentOS下使用Iptraf进行网络流量的分析笔记
CentOS下使用Iptraf进行网络流量的分析笔记 一.概述 Iptraf是一款linux环境下,监控网络流量的一款绝佳的免费小软件. 本博客其他随笔参考: Centos安装流量监控工具iftop笔 ...
- python 判断平年还是闰年
while 1: s = input('请填入一个年份:') s = int(s) year = False if s % 100 == 0 and s % 400 == 0: year = True ...
- python的property的用法
假设定义了一个类:C,该类必须继承自object类,有一私有变量_xclass C: def __init__(self): self.__x=None 1.现在介绍第一种使用属性的方法: 在该类中定 ...
- CentOS7下,安装网卡驱动,命令行手动连接WIFI指导
买了一个无线网卡,型号为TL-WN823N,谁知道在CentOS下没有驱动 于是开始了无线上网的漫漫征途 经历了无数个坑啊,解决了一个又一个的问题啊 到最后ping通的时候成就感简直爆棚 文章结构简介 ...
- 开放API端口SIGN算法详细设计
开放API端口SIGN算法详细设计 前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要 ...
- mysql错误Table ‘./mysql/proc’ is marked as crashed and should be repaired
今天服务器当机了,重启后就发现了如下错误: Table ‘./mysql/proc’ is marked as crashed and should be repaired 解决方法: repair ...
- AC日记——魔方 洛谷 P2007
魔方 思路: 模拟: 代码: #include <cstdio> #include <cstring> #include <iostream> #include & ...
- (9)python 异常
以下程序是python2版本下测试的代码 一.内置异常 没有错误信息的普通异常 raise Exception 添加错误信息的异常 raise Exception ('...错误') 内建异常 异常名 ...
- HDU 1856 More is better (并查集)
题意: 给你两个数代表这两个人是朋友,朋友的朋友还是朋友~~,问这些人组成的集合里面人最多的是多少... 思路: 属于并查集了,我用的是带路径压缩的,一个集合里面所有元素(除了根节点)的父节点都是根节 ...