首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我不能得到$_POST从js到php在wordpress与ajax

$_POST 是一个 PHP 中的超全局变量,用于接收通过 POST 方法提交的表单数据。在 WordPress 中,可以通过 AJAX 将数据从 JavaScript 传递到 PHP,并在 PHP 中使用 $_POST 来获取这些数据。

下面是一个完整的示例,展示了如何在 WordPress 中使用 AJAX 将数据从 JavaScript 传递到 PHP,并在 PHP 中使用 $_POST 获取数据:

JavaScript 代码(位于前端):

代码语言:txt
复制
// 创建一个 JavaScript 对象,包含要传递的数据
var data = {
  name: 'John',
  age: 25
};

// 使用 jQuery 的 AJAX 方法发送 POST 请求
jQuery.ajax({
  url: ajaxurl, // ajaxurl 是 WordPress 提供的全局变量,指向 admin-ajax.php
  type: 'POST',
  data: {
    action: 'my_ajax_action', // 自定义的 AJAX 动作名称
    myData: data // 要传递的数据
  },
  success: function(response) {
    // 请求成功后的回调函数
    console.log(response);
  }
});

PHP 代码(位于后端):

代码语言:txt
复制
// 添加一个 AJAX 动作的处理函数
add_action('wp_ajax_my_ajax_action', 'my_ajax_action_callback');
add_action('wp_ajax_nopriv_my_ajax_action', 'my_ajax_action_callback'); // 对于非登录用户也生效

function my_ajax_action_callback() {
  // 获取通过 POST 方法传递的数据
  $myData = $_POST['myData'];

  // 在这里对数据进行处理
  // ...

  // 返回响应
  echo 'Data received successfully!';

  // 终止脚本执行
  wp_die();
}

在这个示例中,我们首先创建一个 JavaScript 对象 data,其中包含要传递的数据。然后,使用 jQuery 的 AJAX 方法发送一个 POST 请求到 ajaxurl,并将数据和自定义的 AJAX 动作名称传递给 PHP。

在 PHP 中,我们使用 add_action 函数将一个 AJAX 动作名称与一个处理函数绑定。处理函数 my_ajax_action_callback 中,我们通过 $_POST['myData'] 获取传递的数据,并进行相应的处理。最后,我们使用 echo 返回一个响应,表示数据接收成功。

请注意,为了使 AJAX 请求能够在 WordPress 中正常工作,需要将 JavaScript 代码放置在正确的位置,并确保在发送 AJAX 请求之前,已经加载了 jQuery 库和 WordPress 提供的必要脚本。

关于 WordPress 中 AJAX 的更多信息,您可以参考腾讯云的 WordPress 主机产品(https://cloud.tencent.com/product/wh)和 WordPress 插件开发文档(https://developer.wordpress.org/plugins/javascript/ajax/)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券