2016-11-29 122 views
-2

我的jquery ajax響應總是返回0.請幫助我在哪裏做錯了。在stackoverflow的所有其他答案已經過測試,但它沒有奏效。 這裏是我的代碼jQuery ajax總是返回0

jQuery.ajax({ 
    type: "POST", 
    url: woocommerce_params.ajax_url,  //this give the correct url which is http://redhawk-studio.com/demos/rizwan/enrolment/wp-admin/admin-ajax.php 
    data: { 
    action: "my_test_action", 
    status_discount: status_discount1 
    }, 

    success: function (data) { 

     alert(data); 

    } 
}); 

這裏是我的PHP代碼

if($_POST['action'] == 'my_test_action'){ echo 'kkkkk'; exit; } 
+1

實際上你的php返回了什麼?看看你的瀏覽器開發工具 –

+0

返回0 – user3376865

+0

'0'在你所顯示的代碼中是無處可見的,它不會輸出或返回任何計數器值或類似的東西。 Ergo:_That_代碼是_not_「返回0」。 – CBroe

回答

0

出於安全原因,在WordPress,任何Ajax調用的處理函數必須終止執行PHP。如果沒有,php執行終止由WordPress和輸出結果被替換爲0

爲了使其按預期工作,所有你需要做的是在你的處理函數的最後補充一點:

wp_die(); 

對於更詳細的解釋,以及在使用Ajax的原則/準則WordPress,閱讀ajax in plugins