javascript - WordPress 按钮触发 ajax 请求

标签 javascript php jquery ajax wordpress

所以我实际上已经阅读了有关此问题的 stackoverflow 问题,但它们对于最新版本的 wordpress 来说有些陈旧。

我的最终目标是将表单中的一些数据提交到数据库,但目前 ajax 响应对我不起作用。在 WP 中加载自定义页面时,所有代码都会加载,因此所有功能都应该可以工作。所有这些现在都在 PHP 文件内,这就是为什么 echo 用于创建 JS 脚本的原因。这是我的代码的重要部分

echo '<button id="ZapisPrace">Save</button>
<script>
jQuery("#ZapisPrace").click(function($){
    var data={
        action: "addToDB",
        info: "nomz"
    };
    jQuery.post(ajaxurl,data,function(response){
    alert("Response was "+ response);
    });
});
</script>';
add_action('wp_ajax_addToDB','pridajDoDB');
function pridajDoDB(){
    echo '<script>console.log("AAA")</script>';
    wp_die();
}

使用当前版本的 WP,因此变量 ajaxurl 指向

/wordpress/wp-admin/admin-ajax.php

没有 console.log 发生,响应始终为 0,即使我删除 pridajDoDB 函数或 add_action 也是如此。它只是没有正确触发ajax 请求。有人可以告诉我为什么吗? 另外,我还没有使用像 wp_localize_script、wp_register_script 或 wp_enqueue_script 这样的函数,因为所有这些都在加载的一个 PHP 文件中,而且我不需要导入 jquery,据我所知它在 WP 中默认可用。我刚刚学习如何使用 WP、PHP AJAX 和 jQuery,所以我还有很多东西需要学习。

PS:我应该使用WP方式使用ajax。

最佳答案

按如下方式更改 php 代码。

add_action('wp_ajax_addToDB','addToDB');
function addToDB(){
    echo "AAA";
    wp_die();
}

关于javascript - WordPress 按钮触发 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43101255/

相关文章:

javascript - 带有删除按钮的输入字段

javascript - Ember.js - 如何在使用 ember-can 插件时获取能力源文件中的当前用户属性

php - 如何从浏览器级别停止正在运行的 php 进程

php - PK和FK表设计的混淆

javascript - foreach 单选按钮显示更多信息

javascript - 使用输入变量设置元素的值

javascript - 在多个选择中上下移动元素不起作用

javascript - jQuery 选择数据属性并隐藏

javascript - Chrome 扩展和翻译

php - 用数值存储在数据库描述中