Wordpress AJAX 不起作用 - 响应 0

2023-12-15

我想为我的插件添加 AJAX 支持,但我对这个简单的事情有很大的问题。 WordPress 不允许我使用普通 AJAX,我需要使用 WordPress 版本。

在任何时候,WordPress 函数(应该生成输出)都会返回 0。我认为原因是 WP 不会触发“函数”。我尝试强制该函数运行多次,但我不知道可以改进什么。

<?php
public function widget( $args, $instance ) {

$options = get_option('Free_Quotation_options');
?>
<script type="text/javascript" >

    jQuery(document).ready(function($) {        
        var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";

        jQuery.ajax({
            url: ajaxurl,
            type: 'POST',
            action: 'fqtag',
            data: {
                'whatever': 'text'
            },
            success: function (output) {
                $('#secondary').append(output);
            }       
        });
    });

</script> 
<?php
add_action( 'wp_ajax_fqtag', 'fqtag' );
add_action( 'wp_ajax_nopriv_fqtag', 'fqtag' );

function fqtag() {
    global $wpdb; 

    echo 'echo';

    die(); 
}
}

我尝试添加alert('echo');测试功能,但没有任何效果。我认为 AJAX 没有运行正确的函数: fq_tag_support_callback() 。

一开始我遇到了 ajaxurl 变量的问题。它没有被定义。这不是正常情况。我尝试使用以下方法解决此问题:

var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";

您知道我该如何解决这个问题吗?

---编辑--- 与大卫讨论后我有这样的文件(所有时间都不起作用)

<?php
/*
    Plugin Name: TEST PLUGIN
    Description: TEST
    Author: Krzysztof Kubiak
    Version: 1.0
*/
function Test_01_settings_init(){
    register_setting( 'Test_01_settings_filed', 'Test_01_options', 'Test_01_validate' );
}
add_action('admin_init', 'Test_01_settings_init' );

function T01_init_method() {         
    wp_enqueue_script('jquery');      
}   
add_action('init', 'T01_init_method');

function Test_01_menu_page(){
    add_menu_page( 'Test_01', 'Test_01', 'manage_options', 'T01_menu_page', 'T01_add_page' );
    echo my_test();
}
add_action('admin_menu', 'Test_01_menu_page');

function my_test(){
    echo 'Function test';
}
function T01_add_page() {
    echo 'TEST_01_plugin';
}

function Test_01_validate($input) {
}   

//AJAX FROM HIRE

function test_callback() {
    $whatever = 8;
    echo $whatever;
    die();
}       
add_action( 'wp_ajax_nopriv_fqtag', 'test_callback', 1 );
add_action( 'wp_ajax_fqtag', 'test_callback', 1 );

function print_js() { ?>
    <script type="text/javascript">
    jQuery.ajax({
        url: 'wp-admin/admin-ajax.php',
        type: 'POST',
        action: 'fqtag',
        data: {
            'whatever': 'text'
        },
        success: function (output) {
          alert(output);
        }       
    });
    </script>
<?php
}
add_action('wp_print_footer_scripts', 'print_js', 1000);
?>

remove

<script>alert('echo');</script>

如果您检查控制台,您的响应应该是 echo 。我怀疑以上所有代码都在您的插件函数文件中。基本上php函数应该放在functions文件中。

jquery 应放置在您想要从中接收响应的模板中。

将其放入您的函数文件中...从类中删除 jquery...

add_action('wp_print_footer_scripts', 'print_js', 1000);

    function print_js() { ?>
    <script type="text/javascript">
    jQuery(document).ready(function(){

        jQuery.ajax({
            url: 'wp-admin/admin-ajax.php',
            type: 'POST',
            data: {
                'action': 'test_callback',
                'whatever': 'text'
            },
            success: function (output) {
              alert(output);
            }       
        }); 

    });
    </script>
<?php
}

将其移到课堂之外...

 function test_callback() {
                    $whatever = 8;
                    echo $whatever;
                    die();
 }

 add_action( 'wp_ajax_nopriv_testaction', 'test_callback' );
 add_action( 'wp_ajax_testaction', 'test_callback' );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wordpress AJAX 不起作用 - 响应 0 的相关文章

  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • javascript中按tab键时如何调用函数?

    我有一个这样的功能 function whenEmpty field if field value field style backgroundColor ffcccc alert Please fill the field field f
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 如果链接包含特定文本,jQuery 将类添加到 href

    我的网站上的列表中有一些动态填充的链接 这些链接链接到文件 是否可以使用 jQuery 查看文件名是否以 pdf 结尾 并在 href 或类似的链接文本以 mp3 结尾时添加一个类 例如 我的列表中有以下链接 文件1 pdf 歌曲1 mp3
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 从所有会话中注销

    我有一个注销选项 这是我的代码 session start session destroy setcookie key time 60 60 24 setcookie username time 60 60 24 我想添加另一个选项来注销所
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 类型“typeof import("/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index")”上不存在属性“auth”。 TS(2339)

    我是 FireBase 的初学者 我正在尝试使用 Angular 通过 FireBase 实现 Google 登录 我在 auth 时收到上述错误 我特此附上login component ts和package json package l
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • 如何使用 php 在 sql 查询中转义引号?

    我有一个疑问 sql SELECT CustomerID FROM tblCustomer WHERE EmailAddress addslashes POST username AND Password addslashes POST p
  • Select2 下拉列表动态添加、删除和刷新项目

    这让我发疯 为什么 Select2 不能在其页面上实现清晰的方法或示例如何在 Select2 上进行简单的 CRUD 操作 我有一个 select2 从 ajax 调用获取数据
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 如何在打字稿文件中导入没有定义文件的js库

    随着我们的项目变得越来越大 我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理 然而 我们使用许多库作为 amd 模块 我们不想将其转换为 TypeScript 我们仍然想将它们导入 TypeScript 文件
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • Bootstrap 翻转卡与 css3 转换

    我想使用 CSS3 变换创建引导翻转卡 我确实是从这个开始的工作和基本示例 但是我想修改它以具有固定高度的卡和一些小的增强功能 特别是 当用户单击我在右上角创建的图标时 我需要翻转卡片 我已经修改了代码 如你所见here 问题是卡片在正确翻
  • Ruby 的 public_send 方法有什么等价的吗?

    在 Ruby 中 要构造方法的名称并将其发送到对象 可以执行以下操作 class Foo def foo FOO end end Foo new public send foo gt FOO Foo new public send foo
  • cpp (C++) 中的 sha1 函数

    首先我要说的是我对 C 一无所知 我用 google 搜索了一下 没有任何东西可以让我理解如何在 C 中使用 SHA1 不过找到了这个目标 C SHA1但它是关于目标 c 我不确定它是否相同 我需要执行以下操作 我有很多文件 我通过执行 m
  • 什么是 Scala 上下文和视图边界?

    简单来说 什么是上下文和视图边界 它们之间有什么区别 一些易于理解的示例也很棒 我认为这个问题已经被问过 但是 如果是这样 这个问题在 相关 栏中并不明显 所以 这里是 什么是视图绑定 A 视图绑定是 Scala 中引入的一种机制 可以使用
  • 我可以提取sql中重复的提取记录吗?

    在我的表中 我有以下列 id name gender 我想提取所有重复的名称 但我不想扫描所有数据库来一一统计每条记录 我只想知道谁有相同的名字 例子 0 mary F 1 tom M 2 peter M 3 mary F 4 chris
  • 使用 PredicateBuilder、LINQPad 和运算符 ANY 生成 SQL

    I 之前问过关于 Linq To Entities 中的链接条件的问题 现在我用LinqKit一切正常 我想查看生成的 SQL 并阅读后这个答案 I use LinqPad 这是我的声明 var predProduct PredicateB
  • 在继续之前等待另一个可观察的结果

    我不知道是否应该为此发布任何代码 但如果需要的话我会的 我有一个 Angular2 指令 MyDirective和一项服务MyService 该服务在其构造函数中进行 http 调用以获取某些内容并存储在其中this list 指令注入服务
  • Oracle:为什么不使用并行执行?

    看下面的查询 如果我评论子查询 它会使用并行执行 否则不会 查询完成后 SELECT parallel c 20 1 SELECT 2 FROM DUAL FROM DUAL c 你可能已经找到答案了在文档中 仅当满足以下条件时 SELEC
  • 当提供的字符串不为空时 string.IsNullOrEmpty 返回 true

    我有一个单元测试 它调用传入字符串的对象的方法 被调用的方法要做的第一件事就是检查字符串是否为 null 或空 但是 无论 filePath 的值是什么 对 string IsNullOrEmpty 的调用都是 true 见下图 我在这里错
  • 如何在 Scala 中编写返回 Option[List] 的函数?

    假设我有两个函数来获取订单和订单商品 def getOrders Option List Int def getOrderItems orderId Int Option List Int 请注意 两个函数都返回Option List 因为
  • SendInput VB 基本示例

    我希望有人可以提供帮助 我试图找到模拟键盘命令的 SendInput 代码的示例 我希望找到记事本窗口并输入测试消息 我最初在我正在从事的一个项目中使用 SendKeys SendKeys 功能使我能够将键盘命令转发到我们在工作场所使用的定
  • Google App Engine NDB:如何存储文档结构?

    来自 App Engine NDB文档 NDB API 在无模式对象中提供持久存储 数据存储 它支持自动缓存 复杂的查询和 原子交易 NDB 非常适合存储结构化数据 记录 我想使用 NDB 创建如下结构 其中每个实例如下所示 city SF
  • lex 有问题

    我的lex如下 LNUM 0 9 DNUM 0 9 0 9 0 9 0 9 LNUM printf t ECHO printf r n DNUM printf t ECHO printf r n 但事实证明它只能匹配像这样的数字4 12 2
  • 安装 mpi4py

    我正在尝试在我的 Linux 机器上安装 mpi4py 我最近安装了 anaconda 4 1 1 根据他们的文档 该软件包应该附带 mpi4py 2 0 0 当我尝试用 验证 时conda list 我在列表中找不到该包 我努力了 pip
  • 如何通过Socket发送字符串数组对象?

    我有字符串数组对象 可以说 String names new String 7 我还通过在客户端系统上使用 ObjectOutputStream 将其存储到文件中来使该对象持久化 我正在使用 ObjectInputStream 读取存储的对
  • 使用 JavaScript 进行表单验证

    我正在尝试使用 JavaScript 验证表单 但我有点坚持在字段旁边显示一条消息说 此字段是必需的 我该怎么做呢 抱歉 我对 JavaScript 很陌生 这是我的js代码 var allFieldsRequired true funct
  • iOS 9 / Xcode 7 上的 SpriteKit 场景屏幕偏移

    我将一个 SpriteKit 项目从 Xcode64 移动到 Xcode7 在 iOS9 模拟器中运行它 屏幕内容发生了变化 在iOS8模拟器中运行时不会移位 iOS9模拟器截图 在Xcode7中缩放SpriteKit场景会以不同的中心缩放
  • 在 JBoss 上使用 Spring MVC Java Config 出现 404 错误

    我使用 Java Config 编写了一个小型 Spring MVC 应用程序 它在 Tomcat 上工作得很好 但在 JBoss EAP 6 2 上却不行 它已成功部署在 JBoss 上 但当我请求 Spring MVC 定义的任何页面和
  • Durandal 2.0 自定义对话框

    我希望制作一个 Durandal 自定义对话框 在现有的可组合视图模型周围添加一个带有标题和页脚的窗口框架 我制作了一个 customModal html 模板 div class messageBox div class modal he
  • Wordpress AJAX 不起作用 - 响应 0

    我想为我的插件添加 AJAX 支持 但我对这个简单的事情有很大的问题 WordPress 不允许我使用普通 AJAX 我需要使用 WordPress 版本 在任何时候 WordPress 函数 应该生成输出 都会返回 0 我认为原因是 WP