问题产生原因
      最近在做一个微信的项目时,遇到一种很常见的情况,需求是这样的,当用户进入到“我的个人中心”的时候,会有一个点击跳转填写认证资料的按钮,点击此按钮后,会跳转到认证资料填写页面,填写资料,提交成功后。当用户直接返回到上一页的时候。需要修改认证状态为“认证中”。此时需要使用一个AJAX方法去查询认证状态,并修改页面的状态显示。
当时没有按照标准的方法写ajax方法,默认使用的方法是Get请求,前台JS代码如下:
window.onload = function(){
var isProfesser=$('#isProfesser').val();
var isreview=$('#isreview').val();
var userid=$('#myId').val();
if(isProfesser=='0' && isreview=='0'){
$.ajax({
url:"/isAuthenticing",
data: {userid:userid},
success: function (data, textStatus, jqXHR) {
if(data.result=='1'){
$('#approveadd a').html("+认证中")
}
},
error: function () {
}
});
}
//getMyQusetionInfo();
}
 后台controller默认接收的也是GET
@RequestMapping(value = "/isAuthenticing", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> isAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException {
//方法体;
}
 
解决办法   
      实践证明使用Get方法式是不行的,每次后退到上一页的时候,页面中的ajax方法会照常执行,但是并不会请求后台的controller,请求返回的值也是上一次加载页面时候的值,具体原因我暂时不明确。
后来抱着试一试的心态 我使用可POST请求,出人意料的是 使用POST请求,真个流程就走通了。
前台JS代码如下:
window.onload = function(){
var isProfesser=$('#isProfesser').val();
var isreview=$('#isreview').val();
var userid=$('#myId').val();
if(isProfesser=='0' && isreview=='0'){
$.ajax({
url:"/isAuthenticing",
data: {userid:userid},
type: 'POST',
success: function (data, textStatus, jqXHR) {
if(data.result=='1'){
$('#approveadd a').html("+认证中")
}
},
error: function () {
}
});
}
//getMyQusetionInfo();
}
后台代码:
@RequestMapping(value = "/isAuthenticing", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> isAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException {
//方法体
}
希望能够帮助那些和我遇到同样问题的人。
注:红色部分为修改的部分
 
 

结语
 如果你还需要了解更多技术文章信息,请继续关注白衣秀才的博客
 个人网站:http://penglei.top/
 Github:https://github.com/whitescholars
 微博:http://weibo.com/u/3034107691?refer_flag=1001030102_&is_all=1
 
 

微信返回上一页,页面中的AJAX的请求,对Get请求无效的解决办法的更多相关文章

  1. 微信中h5页面用window.history.go(-1)返回上一页页面不会重新加载问题

    问题描述: 在实际开发中遇到这样一个问题,业务需求涉及到返回上一页问题,第一时间想到了window.history.go(-1)方法,这样做本身没有任何问题,但是在微信中,安卓手机还好返回上一页页面会 ...

  2. 调用WebAPI接口地址返回序列化的JSON对象中的属性都加了个k__BackingField关键字的解决办法

    1.问题现象: 2.造成此问题的原因是返回的结果对象实体上面加了个可序列号特效 [Serializable].去掉就可以了. 3.解决后的效果:

  3. 关于页面中css某些情况下出现不知原因的隔断解决办法

    第一种方法:body{margin:0px;padding:0px position:absolute; top:0px;left:0px;} html{ width:100%; overflow-x ...

  4. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  5. javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题

    我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...

  6. IOS 微信返回按钮事件控制弹层关闭还是返回上一页

    在微信公共号内绑定域名后或微信内打开第三方链接跳转非单页面网站时,经常会有弹层Modal的需求,此时如果用户习惯性点击微信自带的返回“<”按钮,就会跳转回上一页或退出网站,而为了避免这种不好的误 ...

  7. 微信小程序返回上一页的方法并传参

    这个有点像子-->父传值 第一步,在子页面点击上一步或者保存数据请求成功以后添加如下代码. var pages = getCurrentPages(); var prevPage = pages ...

  8. ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行

    https://blog.csdn.net/yang450712123/article/details/79276102 https://blog.csdn.net/Chengbin_Huang/ar ...

  9. js 实现返回上一页和刷新等页面跳转功能

    原文 出处http://www.2cto.com/kf/201111/109821.html 1. Javascript 返回上一页history.go(-1), 返回两个页面: history.go ...

随机推荐

  1. 加载dll、lib库

    2.是关于如何加载dll或lib库的.可以看这篇bog   Qt调用dll中的功能函数点击打开链接 ************************************************** ...

  2. Android 中使用MediaRecorder进行录像详解(视频录制)

    在这里给出自己的一个测试DEMO,里面注释很详细.简单的视频录制功能. package com.video; import java.io.IOException; import android.ap ...

  3. VS2010中fatal error LNK1123错误的解决方案

    问题描述: 在VS2010项目编译时会出现如下错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 解决方案: 查找是否有两个cvtres.exe ...

  4. arcgis安装问题SDK开始安装不了

    arcgis安装问题SDK开始安装不了,提示安装Desktop10,安装Desktop10又提示装dotnetfx3.5sp1,最后其实不用这样,可以先把军事扩展包,补丁,安装好,再安装sdk就没有问 ...

  5. 移动UI自动化-Page Objects Pattern

    移动UI自动化,看起来美好,践行起来却难.做个目光短见的务实主义者.Page Objects Pattern是Selenium官方推崇的方式,最近研究写测试用例最佳实践之Page Objects,同时 ...

  6. firefox HackBar组件模拟请求POST请求

    组件下载地址:https://addons.mozilla.org/zh-CN/firefox/addon/hackbar/

  7. loadrunner11有效的license

    下载安装deletelicense.exe先1)退出程序,把下载文件中的lm70.dll和mlr5lprg.dll覆盖掉..\HP\LoadRunner\bin下的这两个文件 2)注意,win7的话一 ...

  8. 《University Calculus》-chaper8-无穷序列和无穷级数-比值审敛法

    在分析等比级数的过程中,我们发现对于q<1的等比级数是收敛的,它表示级数每一项与它前一项的比值小于1,我们能否将这种方法推广起来用于一般级数的审敛呢? 从极限的定义出发:

  9. zznu 1052 前n项和

    这算是循环的入门题目了,因为n 是小于 10 的非负数,所以可以知道结果不过超出int范围. 等式左边的数每次自增一个a,可以用一个变量来表示 na = na * 10 + a, 意思就是每循环一次就 ...

  10. angularJs $injector

    一 angularJS中几种注入方式 Spring中使用构造注入或者设值注入的方式,还需要做一些额外的操作,但是angular中只需要在需要的地方声明一下即可,类似模块的引用,因此十分方便. angu ...