Javascript Wordpress AJAX不传递POST数据

Javascript Wordpress AJAX不传递POST数据,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我正在使用以下代码将AJAX集成到WordPress插件中: PHP: 我的问题是“金额”和“月份”变量没有传递,这些变量是空白的,而回报只是“月内英镑”,因此完全忽略了变量 我真的不知道这里有什么问题,如果您有任何意见,我们将不胜感激。您没有正确发送数据。如果您选中了$\u POST,您将获得$\u POST['data'] jQuery("button.compareLoans").click(function() { jQuery.post( MyAjax.

我正在使用以下代码将AJAX集成到WordPress插件中:

PHP:

我的问题是“金额”和“月份”变量没有传递,这些变量是空白的,而回报只是“月内英镑”,因此完全忽略了变量


我真的不知道这里有什么问题,如果您有任何意见,我们将不胜感激。

您没有正确发送数据。如果您选中了
$\u POST
,您将获得
$\u POST['data']

jQuery("button.compareLoans").click(function() { 
       jQuery.post(
        MyAjax.ajaxurl,
        {
            action : "myajax-submit",
            postID : MyAjax.postID,
            amount : $( "input#loan-amount" ).val(),
            months : $( '#slider' ).slider( "value" ),
        },
        function( response ) {
            $("#content_update").html(response);
        }
    );
});
此外,为了安全起见,您应该使用


不要忘记在服务器端使用变量。

如果您想继续使用属性“data”,您可以尝试:

function myajax_submit() {
    $amount = explode('=', explode('&', $_POST['data'])[0])[1];
    $months = explode('=', explode('&', $_POST['data'])[1])[1];

    echo('<b>£'.$amount.' over '.$months.' months</b>');

    wp_die();
}
函数myajax\u submit(){
$amount=explode('=',explode('&',$_POST['data'])[0])[1];
$months=explode('=',explode('&',$_POST['data'])[1])[1];
echo(“.$amount.”超过“.$months.”个月);
wp_die();
}

它只是简单地解析数据的字符串值,这将允许您通过数组获取金额和月份的值。

@JamesLeist很乐意提供帮助。请把答案标为正确。谢谢
jQuery("button.compareLoans").click(function() { 
       jQuery.post(
        MyAjax.ajaxurl,
        {
            action : "myajax-submit",
            postID : MyAjax.postID,
            amount : $( "input#loan-amount" ).val(),
            months : $( '#slider' ).slider( "value" ),
        },
        function( response ) {
            $("#content_update").html(response);
        }
    );
});
function myajax_submit() {
    $amount = explode('=', explode('&', $_POST['data'])[0])[1];
    $months = explode('=', explode('&', $_POST['data'])[1])[1];

    echo('<b>£'.$amount.' over '.$months.' months</b>');

    wp_die();
}