2017-08-25 46 views
0

我在WordPress站點工作,我創建的自定義形式,在此我得到優惠券代碼和驗證此代碼後,提交此表格到另一個URL,在表單動作定義,這裏是這個jQuery工作,WordPress的表單不提交數據

<script type="text/javascript"> 
    $(document).ready(function() { 
     var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; 
     $("#submit_btn_redeem").click(function(event) { 
      event.preventDefault(); 
      var form = $("#form-voucher"); 
      var voucher_code = $("#voucher_code").val(); 
      var btn = $(this); 
      if(voucher_code!=""){ 
       $("#voucher_code").removeClass("error-fld"); 
       btn.prop('disabled', true); 
       btn.attr("disabled","disabled"); 
       $(".loading").show(); 
       var action_data = { 
        'action': 'check_voucher_code', 
        'voucher_code': voucher_code 
       }; 

       $.ajax({ 
        type: 'POST', 
        url: ajaxurl, 
        data: action_data, 
        dataType: 'json', 
        success: function (response) { 
         $(".loading").hide(); 
         btn.prop('disabled',false); 
         btn.removeAttr("disabled"); 

         if(response.status==1){ 
          $(".response").html(response.message); 
          $(".response").show().delay(2000).hide(0); 
          alert($("#voucher_code").val()); 
          //return false; 
          setTimeout(function(){ 
           document.getElementById("form-voucher").submit(); 
          }, 1000); 


         }else{ 
          $("#voucher_code").addClass("error-fld"); 
          $(".response").html(response.message); 
          $(".response").show().delay(3000).hide(0); 

         } 
        } 
       }); 

      }else{ 
       $("#voucher_code").addClass("error-fld"); 
      } 



     }); 
    }); 
</script> 

問題是,當它在給定的URL提交,它首先重定向到301 POST方法,然後再生成不帶參數的GET請求,並遞交進行該網址,我已經傾倒在操作URL $ _REQUEST ,在這裏沒有得到任何數據,我也檢查.htaccess和重定向插件,沒有這樣的URL存在重定向,問題是提交表單與post方法重定向,而與GET方法其工作正常,任何機構可以幫助

回答

0

您需要定義的操作功能,在您的function.php文件在你的主題,這將是這個樣子

add_action('wp_ajax_nopriv_check_voucher_code', 'functiontohook'); 
add_action('wp_ajax_check_voucher_code', 'functiontohook'); 

之後,你需要指定你的動作,你已經做了Ajax請求。在函數中,您可以獲取所有json數據並執行任何您想要執行的操作。如果有什麼不清楚,請告訴我。我希望這會幫助你。

+0

我已經AREADY做到了這一點,我問錯誤在jQuery的側 –

+0

也越來越從阿賈克斯正確有效的響應 –