AJAX-Anfrage, die das Problem einer ungültigen Get-Anfrage löst

小云云
Freigeben: 2023-03-19 11:44:01
Original
2724 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich WeChat vorgestellt, 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, ich hoffe, es kann allen helfen.

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 Zentrum“ wird eine Schaltfläche angezeigt, auf die Sie klicken können, um zum Ausfüllen der Zertifizierungsinformationen zu springen. Nachdem Sie auf diese Schaltfläche geklickt haben, wird zur Seite zum Ausfüllen der Zertifizierungsinformationen gesprungen, die Informationen eingegeben und erfolgreich übermittelt. 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 lautet 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

Der Hintergrund Der Controller hat standardmäßig auch GET empfangen

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

Lösung

Die Praxis hat gezeigt, dass die Verwendung der Get-Methode nicht möglich ist. Jedes Mal, wenn Sie zur vorherigen Seite zurückkehren, wird die Ajax-Methode auf der Seite verwendet wird wie gewohnt ausgeführt, aber der von der Anfrage zurückgegebene Wert ist auch der Wert, als die Seite zuletzt geladen wurde. Der genaue Grund ist mir derzeit nicht klar.

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=$('#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();
}
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, er kann denen helfen, die auf das gleiche Problem stoßen wie Mich.

Hinweis: Der rote Teil ist der geänderte Teil

Verwandte Empfehlungen:

Beispiel für die gemeinsame Nutzung des Schreibens einer Ajax-Anfragefunktion in nativem JS

Probleme mit speziellen Symbolen in Get-Anfragen

Detaillierte Beschreibung der WeChat-Applet-Netzwerkanfrage (GET-Anfrage)

Das obige ist der detaillierte Inhalt vonAJAX-Anfrage, die das Problem einer ungültigen Get-Anfrage löst. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!