预期AJAX不工作ES(返回0)

时间:2017-03-25 作者:user2037559

我试图通过ajax将表单中的数据“发布”到mysql数据库。此代码连接到“after\\u setup\\u theme”操作:

add_action("wp_ajax_ajax_anmeldung", "ajax_anmeldung");
add_action("wp_ajax_nopriv_ajax_anmeldung", "ajax_anmeldung"); 

function ajax_anmeldung() {
    echo "<script>
        alert(\'hey\');
        </script>";
    die();
}
这是调用它的JS代码:

$(\'#teilnahme_form\').submit(function(e){
    e.preventDefault();

    var name = document.getElementById("name").value;

    jQuery.ajax({
       type:"POST",
       url: window.ajaxurl,
       data: {
           action: "ajax_anmeldung",
           name : name
       },
       success:function(data){
           alert(data);
       }
     });
});
当我运行此命令时,返回一个“0”,仅此而已。

当我尝试时:http://my-domain.com/wp-admin/admin-ajax.php?action=ajax_anmeldung我还得到一个“0”。

我阅读了关于这个主题的所有其他帖子,但似乎没有任何帮助,或者我忽略了一些真正重要的东西。

干杯

2 个回复
SO网友:Abdul Awal Uzzal

请尝试以下操作:

在主题的功能中添加以下内容。php

add_action( \'init\', \'tnc_aj_scripts\' );

function tnc_aj_scripts() {
   wp_register_script( "ajax_anmeldung_script", get_template_directory_uri(). \'/my-ajax.js\', array(\'jquery\'),  \'1.0\', true);
   wp_localize_script( \'ajax_anmeldung_script\', \'mYAjax\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' )));        

   wp_enqueue_script( \'jquery\' );
   wp_enqueue_script( \'ajax_anmeldung_script\' );
}

add_action("wp_ajax_ajax_anmeldung", "ajax_anmeldung");
add_action("wp_ajax_nopriv_ajax_anmeldung", "ajax_anmeldung");

function ajax_anmeldung() {
    $result[\'one\'] = \'Hey\';
    $result = json_encode($result);
    echo $result;
    die();
}
创建。主题目录中名为my ajax的js文件。js并将以下内容放入该文件中:

jQuery(\'#teilnahme_form\').submit(function(e){
    e.preventDefault();

    var name = document.getElementById("name").value;

    jQuery.ajax({
      type:"post",
      dataType : "json",
      url : mYAjax.ajaxurl,
      data: {
        action: "ajax_anmeldung",
        name : name
      },
      success:function(data){
        alert(data.one);
      }
   });
});

SO网友:Irene Mitchell

当使用“POST”作为请求类型时,请在数据参数中排除“action”,并将其附加到url。

$(\'#teilnahme_form\').submit(function(e){
    e.preventDefault();

    var name = document.getElementById("name").value;

    jQuery.ajax({
       type:"POST",
       url: window.ajaxurl + \'?action=ajax_anmeldung\',
       data: {
         name : name
       },
       success:function(data){
         alert(data);
       }
    });
});

相关推荐

自定义模板earch.php中的搜索结果

现在我在搜索结果页面(search.php)中遇到了一个问题,结果是由索引页面模板显示的,而不是它的模板,它显示所有帖子,不管搜索者是否输入了内容我的索引。php页面<?php get_header(); ?> <?php $search = $_get[\'search\']; $args = array( \'post_title_like\' => $search ); $res = new wp_query($args