Heim  >  Artikel  >  Web-Frontend  >  Lösen Sie das Problem, dass WeChat zur vorherigen Seite zurückkehrt und die AJAX-Anfrage auf der Seite für die Get-Anfrage ungültig ist

Lösen Sie das Problem, dass WeChat zur vorherigen Seite zurückkehrt und die AJAX-Anfrage auf der Seite für die Get-Anfrage ungültig ist

亚连
亚连Original
2018-05-23 10:07:041567Durchsuche

Dieser Artikel stellt WeChat vor, um zur vorherigen Seite zurückzukehren, die AJAX-Anfrage auf der Seite, die Analyse und Lösung des Problems ungültiger Get-Anfragen, Freunde in Not können darauf verweisen

Lassen Sie mich zunächst die Ursache des Problems analysieren

Als ich kürzlich an einem WeChat-Projekt arbeitete, stieß ich auf eine sehr häufige Situation „Mein persönliches Center“, es gibt eine Schaltfläche, auf die Sie klicken können, um die Zertifizierungsinformationen einzugeben. Nachdem Sie auf diese Schaltfläche geklickt haben, gelangen Sie zur Seite zum Ausfüllen der Zertifizierungsinformationen, geben die Informationen ein und senden sie erfolgreich. Wenn der Benutzer direkt zur vorherigen Seite zurückkehrt. Der Authentifizierungsstatus muss auf „Authentifizierung wird ausgeführt“ geändert werden. Zu diesem Zeitpunkt müssen Sie eine AJAX-Methode verwenden, um den Authentifizierungsstatus abzufragen und die Statusanzeige auf der Seite zu ändern.

Zu diesem Zeitpunkt wurde die Ajax-Methode nicht gemäß der Standardmethode geschrieben. Der Front-End-JS-Code lautete wie folgt:

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();
}

Backend-Controller Der Standardwert ist auch GET

@RequestMapping(value = "/isAuthenticing", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> isAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException {
//方法体;
}

Solution

Die Verwendung der Get-Methode hat sich bewährt. Jedes Mal, wenn Sie zur vorherigen Seite zurückkehren, wird die Ajax-Methode auf der Seite wie gewohnt ausgeführt, der Hintergrundcontroller wird jedoch nicht angefordert Der von der Anfrage zurückgegebene Wert ist auch der Wert, als die Seite zuletzt geladen wurde. Den genauen Grund kenne ich derzeit nicht.

Später habe ich mit der Mentalität, es auszuprobieren, die POST-Anfrage verwendet. Überraschenderweise verlief der gesamte Prozess reibungslos.

Der Front-End-JS-Code lautet wie folgt:

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();
}

Back-End-Code:

@RequestMapping(value = "/isAuthenticing", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> isAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException {
//方法体
}

Ich hoffe, es hilft denen, die das gleiche Problem haben wie ich.

Hinweis: Der rote Teil ist der geänderte Teil

Das Obige habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

Ajax verwendet JSON, um die Datenübertragung zu realisieren

Ajax überträgt JSON-Beispielcode

Analyse zum Problem von Fehlern in der Post-Methode in Ajax, die Zahlen direkt zurückgeben, die mit 0 beginnen

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass WeChat zur vorherigen Seite zurückkehrt und die AJAX-Anfrage auf der Seite für die Get-Anfrage ungültig ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn