首頁  >  文章  >  web前端  >  解決微信返回上一頁,頁面中的AJAX的請求,對Get請求無效的問題

解決微信返回上一頁,頁面中的AJAX的請求,對Get請求無效的問題

亚连
亚连原創
2018-05-23 10:07:041673瀏覽

這篇文章給大家介紹微信返回上一頁,頁面中的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=$(&#39;#isProfesser&#39;).val();
  var isreview=$(&#39;#isreview&#39;).val();
  var userid=$(&#39;#myId&#39;).val();
  if(isProfesser==&#39;0&#39; && isreview==&#39;0&#39;){
   $.ajax({
     url:"/isAuthenticing",
     data: {userid:userid},     type: &#39;POST&#39;,     success: function (data, textStatus, jqXHR) {
      if(data.result==&#39;1&#39;){
        $(&#39;#approveadd a&#39;).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用json實作資料傳輸

#Ajax 傳遞JSON實例程式碼

#Ajax中post方法直接傳回以0開頭數字出錯問題分析

以上是解決微信返回上一頁,頁面中的AJAX的請求,對Get請求無效的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn