javascript-如何在WordPress插件中调用AJAX?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在WordPress插件中调用AJAX?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3326字,纯文字阅读大概需要5分钟。
内容图文
![javascript-如何在WordPress插件中调用AJAX?](/upload/InfoBanner/zyjiaocheng/661/1f5b6981234344b6812ded21170e630c.jpg)
这个问题已经在这里有了答案: > How do I use Ajax in a WordPress plugin? 1个
我想通过AJAX将MySQL表(自定义表)数据提取到管理面板中.当用户单击按钮时,无需刷新页面即可获取数据.
我已经在PHP上创建了它,但是在WordPress的哪里添加AJAX文件呢?
这是我的代码.注意我正在尝试使插件当用户单击fetchdata按钮调用AJAX以获得结果.
我在插件中添加了JS文件
我从主插件文件中调用了js
function school_register_head() {
$siteurl = get_option('siteurl');
$url2 = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/jquery-1.3.2.js';
$url3 = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/script.js';
echo "<script src=$url2 type=text/javascript></script>\n";
echo "<script src=$url3 type=text/javascript></script>\n";
}
add_action('admin_head', 'school_register_head');
script.js文件
$(document).ready(function() {
$("#display").click(function() {
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "display.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
//alert(response);
}
});
});
});
display.php文件
<?php
global $wpdb;
$rows = $wpdb->get_results("SELECT postid from `wp_school_post`");
echo "<table class='wp-list-table widefat fixed'>";
echo "<tr><th>ID</th><tr>";
foreach ($rows as $row ){
echo "<tr>";
echo "<td>$row->postid</td>";
echo "</tr>";}
echo "</table>";
?>
html按钮
<input type="button" id="display" class="button" value="Fetch All Data" onClick="fetch_data();" />
<div id="responsecontainer" align="center">
解决方法:
如果“将AJAX文件放在何处”表示如何将其包括在管理页面中:最简单的方法是使用admin_enqueue_scripts(),例如,如果您在主题中实现它:
<?php
function load_ajax_script() {
wp_enqueue_script("ajax-script", get_template_directory() . "/scripts/ajax-script.js");
}
add_action("admin_enqueue_scripts", "load_ajax_script");
?>
将此代码添加到活动主题目录中的functions.php中.
下一步将是jQuery脚本.打开与wp_enqueue_script()一起使用的.js脚本文件,并添加以下内容:
jQuery(document).ready(function() {
jQuery("#fetch-data").click(function() {
var script_url = "http://www.example.com/wp-content/themes/my-theme/display.php";
var response_container = jQuery("#responsecontainer");
jQuery.ajax({
type: "GET",
url:script_url,
success:function(response) {
response_container.html(response);
},
error:function() {
alert("There was an error while fetching the data.");
}
});
});
});
请注意,调用.php文件时必须使用URL,而不是使用PHP的include()时使用的服务器绝对路径.根据放置脚本的位置,使用$(…)或jQuery(…).
现在,我们必须插入调用AJAX的按钮,当然还要插入要插入返回内容的容器.由于您没有说明它的显示位置,因此我现在将其放在管理区域的顶部:
function display_ajax_button() {
?>
<input type="button" value="Fetch data" id="fetch-data" />
<div id="fetched-data-content"></div>
<?php
}
add_action("admin_init", "display_ajax_button");
最后,我们创建PHP脚本本身.我刚刚复制了您的代码,并将其保存在jQuery.ajax()URL参数定义的目录中:
<?php
global $wpdb;
$rows = $wpdb->get_results("SELECT postid from `wp_school_post`");
echo "<table class='wp-list-table widefat fixed'>";
echo "<tr><th>ID</th><tr>";
foreach ($rows as $row ){
echo "<tr>";
echo "<td>$row->postid</td>";
echo "</tr>";}
echo "</table>";
?>
那应该是最简单的方法.打开管理页面,然后尝试一下.让我知道它是否有效.
内容总结
以上是互联网集市为您收集整理的javascript-如何在WordPress插件中调用AJAX?全部内容,希望文章能够帮你解决javascript-如何在WordPress插件中调用AJAX?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。