【发布时间】:2017-11-16 01:04:24
【问题描述】:
我参考了一些在线示例并修改了functions.php 和前端模板来触发ajax 调用来获取一些数据。但是我很难理解数据是从请求的 url 返回的。
在functions.php的最后,我添加了,
wp_enqueue_script('jquery');
function myFunction(){
echo "hi";
die();
}
add_action('wp_ajax_myFunction', 'myFunction');
add_action('wp_ajax_nopriv_myFunction', 'myFunction');
在我的自定义模板页面中,我添加了,
var datavalue = 'test data string';
jQuery.ajax({
url: "/wp-admin/admin-ajax.php",
method: "GET",
data: { 'datavar' : datavalue }
}).success(function(data) {
console.log("successfully run ajax request..." + data);
}).done(function(){
console.log("I am from done function");
}).fail(function(){
console.log("I am from fail function.");
}).always(function(){
console.log("I am from always function");
});
});
运行后,我得到了这些响应。
I am from fail function.
I am from always function
我不明白如何从特定 url 获取数据并在 ajax 的成功函数中显示结果。
我什至不知道这个 ajax 调用如何调用 function.php 中定义的函数?它们有什么关系?
请解释一下。另外我想通过传递关键字来触发对查询数据库的ajax调用,我该如何在wordpress中做到这一点?
【问题讨论】:
-
检查您的网络选项卡以了解 AJAX 请求的结果,以了解请求失败的原因。无论在 WordPress 中是否正确定义了操作,请求都应该成功。请求是否到达了正确的位置? JavaScript 代码是否包含错误?
-
向指定的url发出请求,但是出现错误500。
-
你去。请找出服务器为什么返回错误。没有错误消息/日志,这只是一个猜谜游戏。