AJAX POST端点的标准技术:WP REST还是WP API?

时间:2018-04-26 作者:sazr

我需要为任何用户(不仅仅是登录用户)都可以使用的联系人表单创建一个post端点。这篇文章是通过AJAX/REST完成的。

通过新的WP REST端点实现这一点的行业标准方法是吗?比如,

add_action( \'rest_api_init\', function () {
    register_rest_route( \'mytheme/v1\', \'/contact\', array(
        \'methods\' => \'POST\',
        \'callback\' => \'my_awesome_func\',
    ) );
或者我们应该使用WP-API并注册一个post-action/filter/hook吗?

1 个回复
SO网友:Minh

您可以使用wp\\U ajax操作:

add_action( \'wp_ajax_my_awesome_ajax\', \'my_awesome_func\' );
add_action( \'wp_ajax_nopriv_my_awesome_ajax\', \'my_awesome_func\' );

function my_awesome_func() {
  // Handle request with $_POST

  wp_die();
}
您可以使用jQuery post提交联系表单:

jQuery.post(
  my_awesome_js.ajaxurl, 
  {
    \'action\': \'my_awesome_ajax\',
    \'data\': \'some data\'
  },
  function(response){
    alert(response);
  }
);
my\\u awesome\\u js。ajaxurl您使用的wp\\u localize\\u脚本:

wp_enqueue_script(\'my_awesome_js\', \'/path/to/your/script/above.js\', array(\'jquery\'));
wp_localize_script(\'my_awesome_js\', \'my_awesome_js\', array(
   \'ajaxurl\' => admin_url(\'admin-ajax.php\')
));

结束

相关推荐