1
我有一個簡單的AJAX函數,放在我的主題的functions.php中。它的工作原理,「工作」正確返回到jQuery ajax請求,所以事情的一面是好的。將AJAX函數放置在插件中時不起作用
BUT,當相同的功能被置於一個插件代替,它不再起作用,只是返回0
function addCustomer(){
echo "working";
die();
}
add_action('wp_ajax_addCustomer', 'addCustomer');
add_action('wp_ajax_nopriv_addCustomer', 'addCustomer');
我還試圖將所述動作鉤的 內如果(is_admin()) 正如this tutorial中所建議的那樣,但沒有運氣。
我想我可能忽略了一些令人難以置信的明顯的東西,但我無法弄清楚。任何幫助表示讚賞,因爲我現在一直在Google上搜索幾個小時。
編輯:這裏是AJAX調用我使用:
<script type="text/javascript">
jQuery('#newCustomerForm').submit(ajaxSubmit);
function ajaxSubmit(){
var newCustomerForm = jQuery(this).serialize();
jQuery.ajax({
type:"POST",
url: "/wp-admin/admin-ajax.php",
data: newCustomerForm,
success:function(data){
jQuery("#feedback").html(data);
},
error: function(errorThrown){
alert(errorThrown);
}
});
return false;
}
,但我敢肯定這一點是好的,因爲它可以正常使用時,接收功能被放置在functions.php的,只是沒有當放置在一個單獨的插件中。
你應該閱讀你太鏈接的文章,並做他們正在做的方式。這是正確的方法。 – thenetimp 2012-02-09 12:41:28
好吧,我發佈的簡單代碼和鏈接文章的完成方式之間有很大區別。具體而言,我想知道他們究竟做了些什麼才能使其發揮作用 - 我相當肯定地說,整個課程都是很好的編程,但不是必需的。事實是,我沒有nonce檢查阻止它?如果是這樣,爲什麼它會在函數中工作,但不在插件中? – 2012-02-09 12:44:45
你確定你沒有收到數據嗎?您是否嘗試過使用休息客戶端調用ajax調用,以便看到返回的內容?數據類型可能期望json返回並且您正在使用print語句,因此這可能是一個因素。向我們展示您的AJAX調用代碼的樣子,以便我們可以看到這兩個問題。 – thenetimp 2012-02-09 12:49:26