解决微信返回上一页,页面中的AJAX的请求,对Get请求无效的问题

先给大家分析问题产生原因

最近在做一个微信的项目时,遇到一种很常见的情况,需求是这样的,当用户进入到“我的个人中心”的时候,会有一个点击跳转填写认证资料的按钮,点击此按钮后,会跳转到认证资料填写页面,填写资料,提交成功后。当用户直接返回到上一页的时候。需要修改认证状态为“认证中”。此时需要使用一个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 { //方法体 }

希望能够帮助那些和我遇到同样问题的人。

注:红色部分为修改的部分

以上所述是小编给大家介绍的解决微信返回上一页,页面中的AJAX的请求,对Get请求无效的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-09-17 08:17:55

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

aspx中页面按钮写返回上一页代码_实用技巧

<script>history.go(-1);</script> 不管怎样,它就是不返回上一页. 经查资料,原来在asp.net的处理方式已经有所改变.当用户点击按钮时,页已经刷新了.因此我们需要把-1改为-2方可以返回至前一页. 复制代码 代码如下: protected void ButtonGoBack_Click(object sender, EventArgs e) { this.Page.ClientScript.RegisterClientScriptBlock(thi

C# 中返回上一页问题代码

问题 在C# Web程序中,如为页面按钮写返回上一页代码 this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>"); 其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2. Response.Write("<script language=javascript

360浏览器中按Backspace退格键不能删除数据,返回上一页

编者注:本文已获原创加分,请作者继续努力! 我最近才开始使用360浏览器,在发布文章时打错了字,想按Backspace退格键删除,结果返回上一页了.记得以前用低版本chrome的时候,chrome是把Backspace设为返回上一页的快捷键的,原来360浏览器也有这个快捷键! 目前在新版本的chrome浏览器中连续按Backspace键,chrome会提示按"Alt + ←"来返回上一页.即:新版本chrome不再把Backspace键做为返回上一页的快捷键,恢复了它本来的功能:删除数

ja vasc ript 返回上一页及刷新页面的实现方法

  1. ja vasc ript 返回上一页history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: [代码]xm l代码: <a href="ja vasc ript:history.go(-1);">向上一页</a> response.Write

js中的referrer返回上一页使用介绍_javascript技巧

js完整代码: 复制代码 代码如下: <script language="javascript"> var refer=document.referrer; document.getElementById('backurl').value=refer; </script> "HTTP_REFERER" 链接到当前页面的前一页面的 URL 地址.不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER.因此

javascript-meta中的refresh返回上一页,我想让它自动跳转到上一页,表单中的数据还保留

问题描述 meta中的refresh返回上一页,我想让它自动跳转到上一页,表单中的数据还保留 我在head中添加了这样一句话,为什么还是不行? 整个head如下所示: Bootstrap Admin <!-- Demo page code --> <meta http-equiv="refresh" content="2; url=javascript:window.history.go(-1);"> 解决方案 自动跳转上/下一页的脚本---

wap手机端解决返回上一页的js实例_javascript技巧

如下所示: <input id="hd_referrer" type="hidden" /> <a href="javascript:void(0)" onclick="referurl(); ">返回 </a> <script> $(function () { $("#hd_referrer").val(document.referrer); }); fun

谷歌浏览器返回上一页失效

问题描述 我目前的浏览器版本是 33.0.1750.146 m出现的问题是,我在页面中写<input type="button" name="blc" value="返回" class="btn_1" onclick="javascript:history.go(-1);"/>点击返回上一页,但是谷歌浏览器下不好使,在IE和火狐下面就可以正常返回.之后我也改成过<input type=&q

返回上一页并自动刷新的JavaScript代码

 返回上一页并自动刷新,JavaScript一般的使用history.go(-1)和history.back()等,需要的朋友可以参考下 用JavaScript一般的使用history.go(-1)和history.back()等    但返回的是页面还是缓存中的数据,更新的数据不能马上呈现出来    这里只要使用一句简单的一条javascript语句就能实行,返回上一页并刷新页面   代码如下: location.href = document.referrer;//重新载入上一页