이 글에서는 주로 이전 페이지로 돌아가기 위한 WeChat 소개, 페이지의 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(); }
백그라운드 컨트롤러도 기본적으로 GET을 받았습니다
@RequestMapping(value = "/isAuthenticing", method = RequestMethod.GET) @ResponseBody public Map<String, Object> isAuthenticing(@RequestParam("userid") String userid,HttpServletRequest request) throws IOException { //方法体; }
해결책
연습을 통해 Get 메서드를 사용할 수 없다는 것이 입증되었습니다. 예, 이전 페이지로 돌아갈 때마다 페이지의 ajax 메서드는 평소대로 실행되지만 백그라운드 컨트롤러에서 반환되는 값은 요청되지 않습니다. 요청은 페이지가 마지막으로 로드되었을 때의 값이기도 합니다. 현재로서는 구체적인 이유가 명확하지 않습니다.
나중에는 한번 해보자는 마음으로 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 요청 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!