Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量从jQuery传递到PHP_Php_Jquery_Ajax_Wordpress_Woocommerce - Fatal编程技术网

将变量从jQuery传递到PHP

将变量从jQuery传递到PHP,php,jquery,ajax,wordpress,woocommerce,Php,Jquery,Ajax,Wordpress,Woocommerce,我在function.php中添加了函数,我应该将表单jQuery传递给php变量;我尝试使用ajax帖子,但出现了一个错误: 未捕获错误:调用未定义的函数add_action() 变量也不会改变。我知道在wordpress中,我需要为ajax调用使用不同的语法,但我不知道如何做到这一点 这是我的代码: <?php $prezzo = $_POST['espressione']; add_action( 'woocommerce_single_product_summary', 'to

我在
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;
?>

函数espressine()
{
totale=((android*prezzo_android)+(manager*prezzo_manager)+gruppi);
如果(!(总计<0))
{
$('product#u total_price.price').html('欧元'+totale.toFixed(2));
jQuery.ajax(
{
url:“/funzioni/function.php”,
键入:“post”,
数据:{espressine:totale},
成功:功能(响应)
{
警报(响应)
}
})
}

$(“#产品#总价,#购物车#总价”)。切换(!(totale在ajax请求中,需要指定php函数的名称,如下所示:

data: {'espressione': totale, 'action': 'myFunction'},
add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');
在PHP中,您需要使用
wp\u ajax\u pay
wp\u ajax\u nopriv
操作,如下所示:

data: {'espressione': totale, 'action': 'myFunction'},
add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');
然后运行函数:

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

在这里,您可以将参数从jquery传递到php,问题在php文件中,其中是
add_action()
function assigned,您创建了这个吗?是的,我在php文件中创建了add_操作,它必须是所有其他操作,即function.phperor:uncaught ReferenceError:myFunction没有定义,我复制并插入了您创建的所有操作said@Gulands您是否在functions.php文件中发布了php代码?是的,所有其他函数都可以工作,但都是从上的t错误call@Gulands我对第一行代码做了一些调整。你试过了吗?现在可以了,但总是和以前一样的错误:“未捕获错误:调用未定义的函数add_action()”我还添加了两个操作:wp_ajax_myFunction、wp_ajax_nopriv_myFunction