博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax不运行success回调而是运行error回调
阅读量:7238 次
发布时间:2019-06-29

本文共 2282 字,大约阅读时间需要 7 分钟。

  

       调试代码遇到一个问题,就是前台运行删除操作后,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");								}						}											});				}			});		}

转载地址:http://zqrfm.baihongyu.com/

你可能感兴趣的文章
从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
查看>>
【我们一起写框架】MVVM的WPF框架(五)—完结篇
查看>>
学习ASP.NET Core Razor 编程系列十一——把新字段更新到数据库
查看>>
江山代有才人出 | 微软亚洲研究院建院二十周年
查看>>
Linux安装gitlab
查看>>
java源码-synchronized
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色_21.2. 角色属性
查看>>
《刻意练习》读后感
查看>>
DataWorks V2.0 系列公开课
查看>>
使用 logstash, elasticsearch, kibana 搭建日志分析系统
查看>>
Android Q 将获得大量的隐私保护功能
查看>>
《恋恋笔记本》观后感
查看>>
Spring源码剖析6:Spring AOP概述
查看>>
Maven的POM.xml配置大全
查看>>
SmartRefreshLayout + BaseRecyclerviewAdapterHelper 使用MVP方式实现下拉刷新
查看>>
详解KVC(转载)
查看>>
tp5 发送阿里云短信
查看>>
cookie java spring
查看>>
Thrift之TProcess类体系原理及源码详细解析
查看>>
python写的一段分页的代码
查看>>