Jquery Ajax只在表单提交时工作一次

Jquery Ajax只在表单提交时工作一次,jquery,ajax,wordpress,forms,Jquery,Ajax,Wordpress,Forms,我正在尝试创建一个登录小部件,它在Wordpress的用户端使用ajax。我已经创建了一个表单、ajax和响应。该表单在测试期间只工作一次(目前我只是测试对ajax请求的响应) 这是我的密码: 表格: })) 以下是我的功能: public function ajax_login(){ $data = array( 'success'=>true ); wp_send_json( $data ); wp_die(); } 是,我的文件中添加了以下代码: w

我正在尝试创建一个登录小部件,它在Wordpress的用户端使用ajax。我已经创建了一个表单、ajax和响应。该表单在测试期间只工作一次(目前我只是测试对ajax请求的响应)

这是我的密码:

表格:

}))

以下是我的功能:

public function ajax_login(){

    $data = array( 'success'=>true );

    wp_send_json( $data );

    wp_die();

}
是,我的文件中添加了以下代码:

wp_localize_script( $this->plugin_name, 'ajaxurl', admin_url( 'admin-ajax.php' ) );
除此之外:

$this->loader->add_action( 'wp_ajax_ajaxlogin', $plugin_public, 'ajax_login' );
$this->loader->add_action( 'wp_ajax_nopriv_ajaxlogin', $plugin_public, 'ajax_login' );
正如我所说的,ajax函数在我第一次运行时就很好。我得到jQuery警报弹出窗口。第二次运行该程序时,没有弹出窗口,脚本显示为在没有解析函数的情况下发布并加载新页面

任何帮助都会得到感激


迈克

只要看看它,我想你可以做两件事:

  • 在提交处理程序上返回false,例如:

  • 它应该每次都发布到服务器并重新加载。我以前尝试过选项2,但我写的是:“function(event){event.preventDefault()”这对我不起作用。按你的方式写,现在可以了。
    
    wp_localize_script( $this->plugin_name, 'ajaxurl', admin_url( 'admin-ajax.php' ) );
    
    $this->loader->add_action( 'wp_ajax_ajaxlogin', $plugin_public, 'ajax_login' );
    $this->loader->add_action( 'wp_ajax_nopriv_ajaxlogin', $plugin_public, 'ajax_login' );