插件wp_end_json()中的AJAX发送html

时间:2019-04-13 作者:brothman01

我编写了一个插件,从JQuery调用PHP函数,PHP使用wp_send_json(). 这些函数都被成功调用,但json请求每次都会向jquery函数发送大量html。如何使php函数发送的json仅为特定消息?

JQUERY:

jQuery( document ).ready( function() {

        jQuery( \'body\' ).on( \'click\', \'.wpm_mail_link\', function( e ) {

            var varData = \'name:foobar&[email protected]\';      

      jQuery.ajax({
        type: "POST",
        action: "wp_ajax_send_email",
        url: my_ajax_obj.ajax_url,
        data: varData,
        success: function(data) {
          console.log(\'Ajax request successful\');
          console.log(data.message);
        }
      });



        });

});
PHP:

    public function send_email() {
        $response = array(
        \'message\' => \'Sent\',
        \'ID\'      => 1,
    );

    wp_send_json( $response );
    }

1 个回复
SO网友:brothman01

修好了!我在ajax请求中得到了误报。我认为它正在通过,但返回“未定义”,但实际上我使用了错误的url。

相关推荐

Ajax load more posts button

我正在尝试使用此教程,但它不起作用:https://artisansweb.net/load-wordpress-post-ajax/正确的顺序是:4号岗位、1号岗位、3号岗位、2号岗位。前2篇帖子是可以的(单击之前),但当我单击按钮时,结果是错误的(第2篇,第1篇),而不是第3篇,第2篇。这是我的代码:页面模板:<?php /* Template Name: Ajax */ get_header(); ?> <div class=\"entry-content