问题1:

使用ajax访问的后台,后台正常执行,并且正常返回数据,但是不能进入前台的ajax回调函数中

问题展示:

问题解决:

最后发现是因为后台的方法并未加注解:@ResponseBody,导致方法不认识最后返回的是给ajax的data,而是以为要去找这个页面所以并未找到!!

@RequestMapping("/queryAllDisease")

@ResponseBody

public PageInfo queryAllDisease(String productId, ModelMap model, int pageNo , int pageSize){

Product product =new Product();

product.setProductId(productId);

Criteria criteria = getCurrentSession().createCriteria(Disease.class);

criteria.add(Restrictions.eq("product", product));

return diseaseService.findQuery(criteria, pageNo, pageSize);

}

同样的,如果Controller中的方法执行完成之后  不想返回前台,就此打住,则也需要加上@ResponseBody

因为即使方法返回值为void

spring也会按照前台请求过来的页面地址去找,找不到就会如下:

所以,在后台:【以下的代码依旧是  按照前台department/addPosition.htmls继续找下去,如果想在此打住,不要再去前台了,添加注解】

@RequestMapping("addPosition")

public void addPosition(Position position){

position.setCreateDate(new Timestamp(System.currentTimeMillis()));

position.setUpdateDate(new Timestamp(System.currentTimeMillis()));

//操作人 未插入

positionService.save(position);

}

更改之后如下:

@RequestMapping("addPosition")

@ResponseBody

public void addPosition(Position position){

position.setCreateDate(new Timestamp(System.currentTimeMillis()));

position.setUpdateDate(new Timestamp(System.currentTimeMillis()));

//操作人 未插入

positionService.save(position);

}

问题2:

在此基础上,又发现一种新的情况:

后台代码如下:

@RequestMapping("verifyFormula")

@ResponseBody

public void verifyFormula(String formula){

InfixInToSuffix is = new InfixInToSuffix();

String a = null;

try {

if(is.userPattern(formula)){

a = is.toSuffix(formula);

}

} catch (Exception e) {

System.out.println("公式有问题");

}

}

或者:

@RequestMapping("verifyFormula")

@ResponseBody

public String verifyFormula(String formula){

InfixInToSuffix is = new InfixInToSuffix();

String a = null;

try {

if(is.userPattern(formula)){

a = is.toSuffix(formula);

}

} catch (Exception e) {

System.out.println("公式有问题");

}

return a;

}

这两种情况,虽然前台js中使用ajax访问了后台,但是后台方法处理完

1.void没有返回值

2.虽然有返回值,但是String a = null;可能会直接将这个a返回,但是a初始化就是Null,也就是没有开辟实际的空间,这样也是返回不到ajax的回调函数中的!!!!!

多注意这两种情况!!

正确处理这种情况,应当:

@RequestMapping("verifyFormula")

@ResponseBody

public String verifyFormula(String formula){

InfixInToSuffix is = new InfixInToSuffix();

String a = "";

try {

if(is.userPattern(formula)){

a = is.toSuffix(formula);

}

} catch (Exception e) {

System.out.println("公式有问题");

}

return a;

}

最起码的给String a = "";即可!!

问题3:

同样在controller处理完后,前后台都没有报错,但是也是没有进入ajax回调函数

后台错误代码展示:

@RequestMapping(value = "boundWx" ,produces = "text/json;charset=UTF-8")

@ResponseBody

public String boundWx(String name,String password){

List members = new ArrayList();

Member member = memberService.findByUsername(name);

if(member == null){

member = memberService.findByMobile(name);

if(member == null){

members = memberService.findListByEmail(name);

}

}

if(members.size() > 0){

member = members.get(0);

}

if(member != null){

if(DigestUtils.md5Hex(password).equals(member.getPassword())){

return "wx/member/index.jhtml";

}else{

return "密码有误";

}

}else{

return "用户信息有误";

}

}

问题解决:

因为这个方法中 返回给前台后是有乱码出现的,所以加了:@RequestMapping(value = "boundWx" ,produces = "text/json;charset=UTF-8")

而问题就出在:此处的produces = "text/json;charset=UTF-8"与返回值的格式并不相符。

更改为如下的就可以正常返回了:

@RequestMapping(value = "boundWx" ,produces = "text/html;charset=UTF-8")

问题4:

新的同类型问题

ajax + springMVC后台处理完成跳转给前台的ajax的回调函数中,

表现:后台程序执行了三次,但是最后都不会返回到前台回调函数中,且前后台都不报错!

问题:请认真检查前台使用了ajax的是在哪个按钮的点击事件中,这个点击事件是否 return ; 请认真检查前台jsp中是否重复引用了jQuery等js文件导致后台会重复执行几次

问题5:

依旧是ajax + springMVC后台处理完成跳转给前台的ajax的回调函数中,

虽然前台返回状态是200,请求成功,但是始终不进入ajax的success回调方法。

问题:检查后台接口是不是返回的是null,也就是return null;

因为即使状态是200.但是只能代表前后台是联通的,但是不代表返回的参数是有值的,如果return null;那么回到前台以后,判断success字段值如果没有值,当然会进入error的回调函数,而不会进入success的回调函数。

使用匿名函数在回调函数中正确访问JS循环变量

有时候, 需要以不同的参数调用某个URL,并且在回调函数中仍然可以访问正在使用的参数, 这时候, 需要使用闭包保存当前参数, 否则, 当回调函数执行时, 之前的参数很可能早已被修改为最后一个参数了. ...

ajax执行成功后,在success回调函数中把后台返回的list还原到html的table中

需求描述:前台通过onclick触发ajax,到后台返回一个list(json格式的),把list插入到html的table中. 思路简介: ̄□ ̄|| 刚开始的时候,是没有思路的,就卡在了,怎么把 a ...

ajax回调函数中使用$(this)取不到对象的解决方法

如果在ajax的回调函数内使用$(this)的话,实践证明,是取不到任何对象的,需要的朋友可以参考下 $(".derek").each(function(){ $(this).cl ...

ajax访问 aspx.cs后台

--前台$.ajax({ type: "POST", contentType: "application/json", url: "WebForm2. ...

函数的参数是函数,函数中Ajax返回的回调函数中的函数运行

调用函数 checkAjax('addrinfo',formdata,vzxcv); 函数checkAjax function checkAjax(url,formdata,call_back){ / ...

js进阶 14-3 如何接收load函数从后台接收到的返回数据

js进阶 14-3 如何接收load函数从后台接收到的返回数据 一.总结 一句话总结:load方法的回调函数的参数即可接收从后台的返回数据. 1.load方法的回调函数的参数是什么? 语法:load( ...

$.ajax({ }) 里面的success函数不执行 | 回调函数返回的值 用对象,下标,键值对访问不到时

原因一般是  dataType:'json' 数据类型设置成了json  ,去掉这个设置即可 $.ajax({ }) 回调函数返回的值 用对象,下标,键值对访问不到时,考虑是否返回数据为字符串 考虑是 ...

vue中使用Ajax(axios)、vue函数中this指向问题

Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求.Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中. axios中文文档库:http ...

随机推荐

Linux Shell 文本处理工具集锦

本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

JAVA如何随机生成一个汉字

package com.test; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Rando ...

Objective-C的singleton模式

最近因为在ios应用开发中,考虑到一些公共方法的封装使用,就决定使用单例模式的写法了..不知道,Object-c中的单例模式的写法是否和java中的写法是否有所区别?于是阿堂从网上一搜,发现“ Obj ...

Scala-的元组和映射

package com.mengyao.scala.function /** * Scala 映射 * Scala中的Key,Value集合被称为映射,映射中的每一个key,value称为对偶 *   ...

2015 多校联赛 ——HDU5299(树删边)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission ...

JDK8安装时错误1335的解决

Win7安装JDK8 update65版本时,碰到错误1335,错误信息大概是一个cab文件损坏了,搜索了一下,有网站提供这个错误的修补工具,不过最终我没有下载这个工具,说是系统问题,但工具不是MS官 ...

gdb调试原理及qemu中的gdbserver

(一)gdb调试原理 此部分转自:https://blog.csdn.net/u012658346/article/details/51159971     https://www.cnblogs.c ...

fly.js抛物线连续不断加入购物车

http://yanshi.sucaihuo.com/jquery/2/298/demo/

jquery.fn.extend() 与 $.jquery 作用及区别

原文:http://www.cnblogs.com/liu-l/p/3928373.html jQuery.extend()这个方法,主要是用来拓展个全局函数啦,例如$.ajax()这种,要不就是拓展 ...

Mac安装搭建sublimeText3开发Nodejs环境

原文] [基本环境 安装Nodejs 这个直接就可以去官网下载就可以了.Nodejs官网 根据自己的PC系统类型选择对应的版本下载之后就可以了. 安装SublimeText3 这个也是直接去Subli ...

spring返回数据使用ajax,【spring 后台跳转前台】使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中...相关推荐

  1. Datatables表格数据初始化时回调函数中修改要显示的值

    场景 Datables初始化表数据后,返回的status状态值为1,2,3 现在要根据返回值的状态显示相应的中文. 实现 { data: 'status',render: function (data ...

  2. ajax回调函数中不能触发input[type='file']事件的解决方法

    今天在做文件上传遇到一个问题,在ajax回调成功后触发input[type='file']元素的事件时始终不能弹出文件选择对话框 ,于是开始各种问题的排除,最终我发现在ajax 异步提交不行,要同步提 ...

  3. ajax回调函数中获取到的日期类型为时间戳

    示例代码: 页面: $("#test").click(function(e) { $.get( "/test", function(data) { consol ...

  4. jq ajax请求页面跳转页面,使用jquery.get提交页面没有跳转的解决方法

    代码如下: 复制代码 代码示例: CodeFile="Default.aspx.cs" Inherits="_Default" %> window.loc ...

  5. ajax怎么控制页面跳转页面跳转,使用ajax实现页面跳转

    最近在写一个Javaweb的项目,在写登录界面的时候,使用了ajax作为向后端传递数据的方式,但是在最初写的时候发现了一个问题.那就是,当我在后端判断用户名和密码正确之后,调用response.sen ...

  6. 回调函数举例ajax,通过回调函数的理解来进一步理解ajax及其注意的用法

    一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...

  7. Form表单中的button导致页面刷新而无法进入Ajax请求回调函数

    2019独角兽企业重金招聘Python工程师标准>>> <button class="layui-btn layui-btn-normal" type=&q ...

  8. asp.net ajax回调函数

    javascript 调用后台类(webservice)的语法: 类名.方法名(参数1,参数2,--,参数n,回调函数) 调用上有两个差别:一是不需要使用变量接收返回值,二是要在所有参数后面加一个参数 ...

  9. 【Android 高性能音频】AAudio 音频流 PCM 采样 的 采样 缓冲 播放 的 连续机制 ( 数据回调机制 | 数据回调函数指针 | 实现数据回调函数 | 设置数据回调函数 )

    文章目录 I . AAudio 音频流 采样 缓冲 播放 的连续机制 II . AAudio 音频流 数据回调函数 函数指针类型定义 III . AAudio 音频流 数据回调函数 实现 IV . A ...

最新文章

  1. 深挖数据价值 阿里云栖开年大会报道
  2. Java 11正式发布,新特性解读
  3. 图---邻接矩阵 建立,深度遍历,广度遍历
  4. 又一波“打工人”财富自由!快手赴港上市,4000员工人均身家一夜涨至3000万...
  5. 2014年的六级考试即将来临,你们准备好了吗?
  6. 关于FLEX中找不到目标对象或通道未定义错误
  7. java网络爬虫视频教程下载
  8. java 多线程面试题及答案
  9. Docker 镜像加速器配置
  10. 蓝蓝设计 使用全屏照片的网页设计欣赏
  11. 图片放大后不清楚怎么办?
  12. java 读取 doc_java如何读取doc文件
  13. 手机号正则判断最新版 包含199、198、166开头的号码
  14. java游戏开发杂谈 - 实现游戏主菜单
  15. 专题总纲目录 管理类联考 MBA/MEM/MPA/MPACC总纲
  16. 用U盘加速你的Windows Vista启动
  17. ubuntu1804搭建git服务器
  18. 智能合约从入门到精通:JIDE集成开发工具
  19. 解密中企动力:80余家公司近万人个个都干营销 不骗你
  20. 如何使WhatsApp组通知声音静音

热门文章

  1. 如何使用 Python 的 COM 组件与 ZOS-API 交互构建和优化单透镜
  2. 美国洛杉矶cn2测评数据和测评IP
  3. Oracle 11.2.0.3 Patchset 下载地址
  4. 逆变器虚拟电容的参数优化
  5. 手机adb 连接不到电脑,但是可以连接到各种助手
  6. STM32 FOC BLDC与PMSM的区别
  7. 基于嵌入式ARM核心板的荧光免疫分析仪方案
  8. WCF-WCF的创建以及IIS服务
  9. 简单分析几十个游戏案例
  10. navicat for mysql 绿色版