AJAX リクエスト、無効な Get リクエストの問題を解決

小云云
リリース: 2023-03-19 11:44:01
オリジナル
2725 人が閲覧しました

この記事では主に、前のページに戻るWeChat、ページ内のAJAXリクエスト、無効なGetリクエストの問題の分析と解決策を紹介します。困っている友達は参考にしていただければ幸いです。产 まず問題の原因を分析しましょう

最近、WeChat プロジェクトを行っているときに、非常によくある状況に遭遇しました。ユーザーが「個人センター」に入ると、次のようなメッセージが表示されます。認証情報の入力にジャンプします。このボタンをクリックすると、認証情報の入力ページに移動します。情報を入力して送信します。ユーザーが前のページに直接戻ったとき。認証ステータスを「認証中」に変更する必要があります。現時点では、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 リクエストを使用してみたところ、驚くべきことに、プロセス全体がスムーズに進みました。

フロントエンドの 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 {
//方法体
}
ログイン後にコピー

私と同じ問題に遭遇した人の助けになれば幸いです。

注: 赤い部分は変更された部分です

関連する推奨事項:


ネイティブJSで書かれたAjaxリクエスト関数関数の共有例

getリクエストで特殊記号を渡す問題

WeChatアプレットネットワークリクエスト(GETリクエスト)の詳細説明

以上がAJAX リクエスト、無効な Get リクエストの問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!