WeChat で前のページに戻ると、AJAX Get リクエストが無効になる

php中世界最好的语言
リリース: 2018-04-02 16:51:32
オリジナル
1282 人が閲覧しました

今回はWeChatで無効なAJAX Getリクエスト前のページに戻るWeChatで無効なAJAX Getリクエストの問題を解決するための注意事項についてお届けします。以下で見てみましょう。

まず問題の原因を分析しましょう

最近、WeChat プロジェクトに取り組んでいたときに、ユーザーが「個人用」と入力したときの非常に一般的な状況に遭遇しました。 Center」をクリックすると、認証情報を入力するためのボタンが表示されます。このボタンをクリックすると、認証情報の入力ページにジャンプし、情報を入力して送信できます。ユーザーが前のページに直接戻ったとき。認証ステータスを「認証中」に変更する必要があります。現時点では、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 {
//方法体;
}
ログイン後にコピー

解決策

実践により、メソッドの取得メソッドの使用が機能しないことが証明されました。前のページに戻るたびに、ページ内の 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 {
//方法体
}
ログイン後にコピー

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、他の関連記事に注目してください。 PHP中国語ウェブサイトで!

推奨読書:

非同期ファイルまたは画像アップロード ajax

AJAX はデータベースと対話して、ユーザーが登録されているかどうかを判断します

以上がWeChat で前のページに戻ると、AJAX Get リクエストが無効になるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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