jquery - 将 jQuery 变量传递给functions.php WordPress

标签 jquery ajax wordpress

我正在将 x jQuery 变量发送到 php 文件。

这是我的带有 ajax 的 jQuery:

  jQuery(document).ready(function($) {

var x = jQuery('#sbering option:selected').val();
jQuery('#optionvalue').html(x);

  jQuery.ajax({
        url: frontEndAjax.ajaxurl,
        data: {
            'action':'my_ajax_function',
            'id' : x
        },
        success:function(data) {
          console.log(data);
        },
    });
});

这是我发送 x 变量的函数:

function my_ajax_function() {

  if(isset($_REQUEST['id'])) {
    $aux = $_REQUEST['id'];
    echo "ID: " . $aux;
  }
  var_dump($aux);
...

而不是在屏幕上打印 $aux 和 var_dump($aux) 它们仅在控制台中可见,并且 php 中的 $aux 为 Null。

Image1 Image2

我做错了什么?

最佳答案

问题出在

$aux = json_decode($_POST['id'])

仅使用$_POST['id']来获取值

json_encode(...) 提交响应

编辑:还注意到您的帖子中存在错误

jQuery.post(aurl, {id: x}, 'json');

这是错误的,因为您缺少完整的函数或 done() promise 处理

解决方案1:

jQuery.post(aurl, {id: x}, function(response) {
    console.log(response); // just an example
}, 'json');

解决方案 2:

jQuery.post(aurl, {id: x}, null, 'json');

解决方案 3:使用另一个答案中指定的 $.ajax (等于 jQuery.ajax)

一些有用的网址:

Ajax :http://api.jquery.com/jquery.ajax/

帖子:http://api.jquery.com/jquery.post/

获取:http://api.jquery.com/jquery.get/

关于jquery - 将 jQuery 变量传递给functions.php WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45981072/

相关文章:

jquery - 使用 AJAX 执行 Python Django 脚本

wordpress - 增加 Wordpress WXR (.xml) 导入最大文件大小?

WordPress RPM 不显示插件更新

php - 如果在 Woocommerce 中购买了特定产品类别中的任何商品,则将产品设置为仅购买一次或不购买

javascript - DataTable 1.10x jQuery 列过滤器通过输入文本框服务器端

jquery - 检测 Windows 与 Mac 操作系统

javascript - 如何在Django Form中使用Jquery脚本的值?

javascript - Uncaught ReferenceError : method is not defined

javascript - 解析涉及 ajax 的函数的参数

java - 如何在不刷新所有页面的情况下刷新表格内容