php - 将变量从 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;
?>
解决方案
在您的 ajax 请求中,您需要指定 php 函数的名称,如下所示:
data: {'espressione': totale, 'action': 'myFunction'},
而在 PHP 中,您需要使用wp_ajax_pay
和wp_ajax_nopriv
操作,如下所示:
add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');
然后运行函数:
function myFunction(){
$prezzo = $_POST['espressione'];
...
}
推荐阅读
- html - 如何删除 textArea 的 null 值
- assembly - cltq 在汇编中真正做了什么?
- azure - BringOwnFeatureNotEnabled 错误代码在 Azure 中的含义是什么
- android - Windows docker 容器中的 ADB 设备为空
- javascript - 如何在选择选项 Angular 9 处将数据从后端绑定到前端
- sql-server - 为什么 += 在 Sql Server 中只给出最后一条记录?
- javascript - React 子对象点击效果父的点击
- heroku - 从 mlab 切换到 mongodb-atlas 后的连接问题
- java - 如何通过 Gremlin 查询具有 OR 关系的多条边
- java - 从 Java 中的 AWS 参数存储中获取值