Heim > Web-Frontend > js-Tutorial > 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

亚连
Freigeben: 2018-05-23 10:07:04
Original
1691 Leute haben es durchsucht

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();
}
Nach dem Login kopieren

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 {
//方法体;
}
Nach dem Login kopieren

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();
}
Nach dem Login kopieren

Back-End-Code:

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage