不要直接将AJAX发送到PHP文件。相反,请使用WordPress的内置AJAX功能。您可以从插件中注册AJAX回调,WordPress会将请求路由到插件文件。
例如,此代码将注册一个名为“wpa\\U 49691”的回调:
add_action( \'wp_ajax_wpa_49691\', \'wpa_49691_callback\' );
add_action( \'wp_ajax_nopriv_wpa_49691\', \'wpa_49691_callback\' );
function wpa_49691_callback() {
// Do whatever you need with update_option() here.
// You have full access to the $_POST object.
}
然后,发布所需的任何数据,只需指定
action
在对象中:
<script type="text/javascript">
jQuery(document).ready(function($) {
var data = {
action: \'wpa_49691\',
my_var: \'my_data\'
};
jQuery.post( ajaxurl, data, function(response) {
// handle response from the AJAX request.
});
});
</script>
此脚本将把您的数据发布到服务器。在服务器回调中,您将看到
$_POST[\'my_var\'] = \'my_data\'
.
要进一步阅读,请查看:
- The Codex
- WordPress and AJAX - 有关此主题的免费电子书
wp_register_script( $handle );
»wp_enqueue_script( $handle )
»wp_localize_script( $handle );
- 最后一个方法是将php内容移动到js变量中,该变量可以在AJAX脚本中访问