2016-03-17 61 views
0

我以前曾幫助here爲某些複選框製作通用的Ajax函數。我現在正試圖將該項目整合到一個Wordpress網站,並有幾個問題。在wordpress中失敗的ajax調用

這裏是我當前的代碼:

<label class="rep_label"><input type="checkbox" id="goal1<?php get_current_user_id() ?>" name="GOAL_1_HIT" value="1" <?php if($rep_goal1_hit == 'YES'){echo "checked";}?> /> 
      <?php echo $rep_goal1; ?></label> 
<br />   
<label class="rep_label"><input type="checkbox" id="goal2<?php echo get_current_user_id() ?>" name="GOAL_2_HIT" value="1" <?php if($rep_goal2_hit == 'YES'){echo "checked";}?> /> 
      <?php echo $rep_goal2; ?></label> 
<br />   
<label class="rep_label"><input type="checkbox" id="goal3<?php echo get_current_user_id() ?>" name="GOAL_3_HIT" value="1" <?php if($rep_goal3_hit == 'YES'){echo "checked";}?> /> 
      <?php echo $rep_goal3; ?></label> 
<br />   
<label class="rep_label"><input type="checkbox" id="incentive<?php echo get_current_user_id() ?>" name="INCENTIVE_HIT" value="1" <?php if($rep_incentive_hit == 'YES'){echo "checked";}?> /> 
      <?php echo $rep_incentive; ?></label> 

JS/AJAX

jQuery(document).ready(function($) { 
    $("input[type=checkbox]").change(function() { 
     var $input = $(this); 
     $.ajax({ 
      url: 'checkbox.php', 
      type: 'POST', 
      data: { db_column:$input.attr("name"), strState:$input.is(":checked"), user:"<?php echo $current_user->ID; ?>" }, 
      success: function() { // this happens after we get results 
       $input.attr('checked', true);    
      }, 
      error:function(){ 
       $input.attr('checked', false); 
      } 
     }); 
    }); 
}); 

PHP

<?php 

$db_column = $_POST['db_column']; 
$strState = $_POST['strState']; 
$user = $_POST['user']; 

if(set_cimyFieldValue('$user', '$db_column', '$strState')){ 
    echo "ok"; 
} else { 
    echo "error"; 
} 

?> 

我收到錯誤在我的javascript 「輸入意外結束」 即我已無休止地搜索了無濟於事。

我已經在html中的腳本和Ajax調用甚至沒有被觸發,所以我把它移動到一個.js文件,並將它包含在同一個地方,現在ajax調用,但返回404 PHP文件。

這只是我必須實施的Ajax冰山一角。我需要知道在Wordpress中使用我自己的Ajax函數時需要考慮的一般問題?

如果有人熟悉Cimy額外用戶字段,我只是試圖爲該插件提供的字段創建一個ajax驅動的前端。我想我有問題試圖在我的php文件中使用插件功能...

+0

經過更多的挖掘,我意識到我真正尋找的只是ajax調用php函數的一般用法。考慮到我使用的插件,我認爲上面所做的很多事情都是過度的。 –

回答

-1
data: ({ db_column:$input.attr("name"), strState:$input.is(":checked"), user:"<?php echo $current_user->ID; ?>" })