我有一个clas和一个.php文件,
FIRST ONE,functions.php它是一个.php文件,它是我在另一个类中调用的方法。
//PHP
add_action('wp_ajax_getJSONCurrencies', 'getJSONCurrencies');
add_action('wp_ajax_nopriv_getJSONCurrencies', 'getJSONCurrencies');
function getJSONCurrencies () {
$endpoint = $_POST['endp'];
$access_key = $_POST['access'];
$currencies = $_POST['curren'];
$source = $_POST['sour'];
$format = 1;
// Initialize CURL:
$ch = curl_init('https://apilayer.net/api/'.$endpoint.'?access_key='.$access_key.'¤cies='.$currencies.'&source='.$source.'&format='.$format.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
// Decode JSON response:
echo json_decode($json, true);
}
我的第二个类,custom-wc-widget ... php,我称之为我的第一个类函数。
jQuery( document.body ).bind( \'bejob_price_slider_create bejob_price_slider_slide\', function( event, min, max ) {
var simMoneda = jQuery(\'.woocommerce-currency-switcher-form > select option:selected\').text();
var simbolo = simMoneda.split(",");
simMoneda = simbolo[1].trim();
var endpoint = \'live\';
var access_key = \'0a85b3479a1a24ceaba1d04f030e7028\';
var currencies = \'USD,ARS,CLP,PEN,COP,MXN,PAB\';
var source = \'EUR\';
jQuery.ajax({
type:\'POST\',
url: \'ajaxurl\',
//url: \'https://apilayer.net/api/\' + endpoint +\'?access_key=\' + access_key + \'¤cies=\' + currencies + \'&source=\' + source + \'&format=\' + 1,
data: {
endp: endpoint,
access: access_key,
curren: currencies,
sour: source,
action: \'getJSONCurrencies\'
},
dataType: "json",
success: function(data) {
debugger;
console.log(data);
}
});
if ( min == 0) {
jQuery( \'.bejob_price_slider_amount span.from\' ).html( "Gratis");
} else {
jQuery( \'.bejob_price_slider_amount span.from\' ).html( min + simMoneda );
}
jQuery( \'.bejob_price_slider_amount span.to\' ).html( max + simMoneda );
jQuery( document.body ).trigger( \'price_slider_updated\', [ min, max ] );
});
这第二节课有\'#39;符号,因为它在echo php中,我的想法是将ajax语句中的数据发送到我的函数 getJSONCurrencies 然后在ajax方法的成功函数中接收我的JSON对象将在我的网页上使用。
问题是,当我运行调试器时,它从未进入我的Ajax方法,我不知道它为什么不进入那里。
答案 0 :(得分:0)
你怎么称呼jquery?如果您有其他功能,请编辑您的问题。
使用wp_localize_script尝试下面的代码:
add_action('wp_ajax_getJSONCurrencies', 'getJSONCurrencies');
add_action('wp_ajax_nopriv_getJSONCurrencies', 'getJSONCurrencies');
wp_enqueue_script('getJSONCurrencies', get_template_directory_uri().'/js/getJSONCurrencies.js', array('jquery'), '1.0', true );
wp_localize_script('getJSONCurrencies', 'ajax_var', array(
'url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('ajax-nonce')
));