jQueryがフォームを送信すると、ブラウザはデフォルトでインターセプトします

今日は機能を作成しましょう。ユーザーがクエリをクリックしたら、まずユーザーのクエリ時間が十分かどうかを確認します。十分な場合は、フォームを使用して送信し、新しいインターフェースにジャンプします。フォームを使用する理由データは機密性が高いため、ブラウザのアドレスには適していません上記は、ユーザーが自由に変更してデータの問題を引き起こすのを防ぐために表示されています。
axajがリクエストを送信するとき->ユーザークエリの数が十分であることを確認し、十分な場合はajaxメソッドでフォームを送信します。FirefoxおよびGoogleブラウザはデフォルトでシングルアウトウィンドウを直接インターセプトします。IEはそれをインターセプトしません。ブラウザはこれをユーザーではないものとして扱いますクリックイベントは広告インターセプトとして接続に直接ジャンプします(クリックイベントをトリガーすると最初にajaxリクエストが作成され、次に再リンクしてユーザーの直接に属していないajaxにジャンプしますイベントジャンプ)、axajリクエストの後にインターフェースにジャンプする必要があります。
書き込みのために傍受されます:

$("#seach").click(function(){
    
    
$.post(contextPath+"/areaLabitem/validateCount.do",param,function(data){
    
    
            if(data.statu == "error"){
                jAlert(data.result, function(r) {
    
    
                    return;
                });
            }else{
                $("#areaLabitemForm").submit();    //放在ajax里面          
            }
    $("#areaLabitemForm").submit();
});


特別な注意が傍受されることはありません。ajaxは同期要求を変更する必要があります。そうしないと、問題が発生します。

$("#seach").click(function(){
    
    
    $.ajax({ 

        type: "post", 

        url: contextPath+"/areaLabitem/validateCount.do", 

        cache:false, 

        async:false, //改成同步请求

        dataType: 'json', 

        data:param,

        success: function(d){
    
     

            if(d.statu == "error"){
                jAlert(d.result, function(r) {
    
    
                    return;
                });
                return;
            }else{
                flag = true;
            }

        } });
    if(flag == true){
        $("#areaDetail").submit();
    }
    }

おすすめ

転載: blog.csdn.net/Qin_HongKun/article/details/80899006