首页 > 解决方案 > 将变量从 jQuery 传递到 PHP

问题描述

我添加了函数,function.php我应该将 jQuery 传递给 PHP 变量;我尝试使用 ajax 帖子,但出现错误:

未捕获的错误:调用未定义的函数 add_action()

并且变量不会改变。我知道在 wordpress 中我需要对 ajax 调用使用不同的语法,但我不知道该怎么做。

这是我的代码:

<?php

$prezzo = $_POST['espressione'];

add_action( 'woocommerce_single_product_summary', 'totale', 31 );

/**
* ------
*/


?>
<script>
function espressione()
{
    totale = ((android*prezzo_android)+(manager*prezzo_manager)+gruppi);

    if (!(totale < 0))
    {
        $('#product_total_price .price').html( '€' + totale.toFixed(2));

        jQuery.ajax(
            {
                url:'/funzioni/function.php',
                type: 'post',
                data: {espressione: totale},
                success: function(response)
                {
                    alert(response)
                }
            })
    }
    $('#product_total_price,#cart_total_price').toggle(!(totale <= 0));

}

/**
* ------
*/

<?php
echo $prezzo;
?>

标签: phpjqueryajaxwordpresswoocommerce

解决方案


在您的 ajax 请求中,您需要指定 php 函数的名称,如下所示:

data: {'espressione': totale, 'action': 'myFunction'},

而在 PHP 中,您需要使用wp_ajax_paywp_ajax_nopriv操作,如下所示:

add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');

然后运行函数:

function myFunction(){
    $prezzo = $_POST['espressione'];
    ...
}

推荐阅读