1 回答
TA贡献1806条经验 获得超8个赞
问题应该出在 URL 上,我认为它必须是绝对的。
jQuery.ajax({
//....
url: 'http://yourwebsite.com/wp-content/themes/yummy/update-waitlist.php'
// ...
WordPress 的方式
您必须先将 JS 文件script.js排入队列handle ,然后再进行本地化
本地化脚本以传递通用数据。我们将传递ajax_urlwithmy_ajax对象。
函数.php
wp_localize_script('your-script-handle', 'my_ajax', array('ajax_url' => admin_url('admin-ajax.php')));
然后在脚本文件中,您可以使用该my_ajax对象来获取 AJAX URL。定义一个function_1在请求此 AJAX 调用时将执行的操作。
脚本.js
jQuery.ajax({
type: 'post',
url: my_ajax.ajax_url,
data: {
action: 'function_1',
}
success: function(data){
// callback function
}
});
定义一个函数并将其附加到 Ajax 操作,该操作将查询数据库并返回结果。
函数.php
add_action('wp_ajax_function_1', 'function_to_execute_some_query'); // logged in user can make a call
add_action('wp_ajax_nopriv_function_1', 'function_to_execute_some_query'); // non logged in user can make a call
function function_to_execute_some_query() {
global $wpdb;
$results = $wpdb->query( $wpdb->prepare("UPDATE 'wp_wpdatatable_4' SET `currentstatus` =
'myupdate1' WHERE wdt_ID = '1'"));
die($results);
}
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报