问题产生原因
      最近在做一个微信的项目时,遇到一种很常见的情况,需求是这样的,当用户进入到“我的个人中心”的时候,会有一个点击跳转填写认证资料的按钮,点击此按钮后,会跳转到认证资料填写页面,填写资料,提交成功后。当用户直接返回到上一页的时候。需要修改认证状态为“认证中”。此时需要使用一个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. 给java中的System.getProperty添加新的key value对

    由于系统被格了,所以,现在的java项目配置不对,代码里面的配置类调用了一个System.getProperty("env")发现找不到该变量的值,以前一直能找到的. 其实就是以前 ...

  2. Java native(转)

    Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能. 可以将 ...

  3. index rang scan

    根:分支的范围,范围块的地址 ----- begin tree dump branch: 0x1000c93 16780435 (0: nrow: 5, level: 1)    leaf: 0x10 ...

  4. C++ Primer 随笔 Chapter 9 顺序容器

     参考:http://www.cnblogs.com/kurtwang/archive/2010/08/19/1802912.html 1..顺序容器:vector(快速随机访问):list(快速插入 ...

  5. c语言小练习(蛮好玩的)

    1.求三个数的平均数,要求保留三位小数位 #include <conio.h> #include<stdio.h> int main(){ int a,b,c; float a ...

  6. (转载)PHP 动态生成表格

    (转载)http://hi.baidu.com/shawns/item/c7d51f351c6a0482b711dba6 提要:PHP能够高效地生成HTML代码,其中,动态生成表格是实际应用中经常碰到 ...

  7. 后缀自动机(SAM):SPOJ Longest Common Substring II

    Longest Common Substring II Time Limit: 2000ms Memory Limit: 262144KB A string is finite sequence of ...

  8. delphi笔记之nativeXml 转

    delphi笔记之nativeXml   使用 CreateName 建立可直接指定根节点的名称 var XmlDoc: TnativeXml; Node:TxmlNode; Begin XmlDoc ...

  9. UNITY3D ShadeSH9

    UNITY3D ShadeSH9 属于Irradiance environment maps 方法,可以参考DX SDK PRTDemo,里面是几乎相同的实现,总之就是解光传输的积分方程 目前主流辐射 ...

  10. 高效算法——J 中途相遇法,求和

    ---恢复内容开始--- J - 中途相遇法 Time Limit:9000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Su ...