为什么ajax调用后为零

发光

我是第一次使用WordPress学习Ajax。我正在用小部件实现Ajax功能,但是在提交表单后得到0。

您能指导我并解释为什么会这样,以便我更好地理解。

我的代码:

wp_enqueue_script('jquery');

/**
 * Add function to widgets_init that'll load our widget.
 * @since 0.1
 */
add_action( 'widgets_init', 'example_load_widgets' );

/**
 * Register our widget.
 * 'Example_Widget' is the widget class used below.
 *
 * @since 0.1
 */
function example_load_widgets() {
    register_widget( 'Example_Widget' );
}

/**
 * Example Widget class.
 * This class handles everything that needs to be handled with the widget:
 * the settings, form, display, and update.  Nice!
 *
 * @since 0.1
 */
class Example_Widget extends WP_Widget {

    /**
     * Widget setup.
     */
    function Example_Widget() {
        /* Widget settings. */
        $widget_ops = array( 'classname' => 'example', 'description' => __('An example widget that displays a person\'s name and sex.', 'example') );

        /* Widget control settings. */
        $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'example-widget' );

        /* Create the widget. */
        $this->WP_Widget( 'example-widget', __('Example Widget', 'example'), $widget_ops, $control_ops );
    }

    /**
     * How to display the widget on the screen.
     */
    function widget() {
            echo $name = $_POST['name'];
            ?>
            <form type="post" action="" id="newCustomerForm">

                <label for="name">Name:</label>
                <input name="name" type="text" />

                <input type="hidden" name="action" value="example_load_widgets"/>
                <input type="submit" name="submit" value="Submit">
            </form>
            <br/><br/>
            <div id="feedback"></div>
            <br/><br/>

            <script type="text/javascript">
                jQuery('#newCustomerForm').submit(ajaxSubmit);

                function ajaxSubmit(){

                    var newCustomerForm = jQuery(this).serialize();

                    jQuery.ajax({
                        type:"POST",
                        url: "http://localhost/testing/wordpress/wp-admin/admin-ajax.php",
                        data: newCustomerForm,
                        success:function(data){
                            jQuery("#feedback").html(data);
                        },
                        error: function(errorThrown){
                            alert(errorThrown);
                        }  
                    });

                    return false;
                }
            </script>

            <?php
            die();
            add_action('wp_ajax_example_load_widgets', 'example_load_widgets');
            add_action('wp_ajax_nopriv_example_load_widgets', 'example_load_widgets');

        }
    }
马南

我创建了一个像您一样的ajax示例,也许会对您有所帮助。

尝试这个:

首先创建插件并添加以下代码:

<?php
    function sampleHelloWorld() {
    ?>
        <form type="post" action="" id="newCustomerForm">
            <label for="name">Name:</label>
            <input name="name" type="text" /><br /><br />

            <input type="hidden" name="action" value="addCustomer"/>
            <input type="submit" name="submit" value="Submit">
        </form>

        <br/><br/>
        <div id="feedback"></div>
        <br/><br/>

        <script type="text/javascript">
            jQuery('#newCustomerForm').submit(ajaxSubmit);

            function ajaxSubmit(){

                var newCustomerForm = jQuery(this).serialize();

                jQuery.ajax({
                    type:"POST",
                    url: "http://localhost/testing/wordpress/wp-admin/admin-ajax.php",
                    data: newCustomerForm,
                    success:function(data){
                        jQuery("#feedback").html(data);
                    },
                    error: function(errorThrown){
                        alert(errorThrown);
                    }  
                });

                return false;
            }
        </script>
        <?php
    }

function widget_myHelloWorld($args) {
  extract($args);
  echo $before_widget;
  echo $before_title;?>Hello World Ajax<?php echo $after_title;
  sampleHelloWorld();
  echo $after_widget;
}

function myHelloWorld_init(){
  register_sidebar_widget(__('Hello World'), 'widget_myHelloWorld');     
}
add_action("plugins_loaded", "myHelloWorld_init");

wp_enqueue_script('jquery');

function addCustomer(){
    echo $name = $_POST['name'];
    die(); 
}

add_action('wp_ajax_addCustomer', 'addCustomer');
add_action('wp_ajax_nopriv_addCustomer', 'addCustomer');
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在JQuery ajax调用后重新加载页面?

来自分类Dev

为什么我的div在Ajax调用后不显示自己?

来自分类Dev

为什么在Ajax调用后不触发jQuery事件?

来自分类Dev

Wordpress-禁用后为什么会有评论?

来自分类Dev

为什么在异步Ajax调用后AngularJs的视图没有更新?

来自分类Dev

为什么AJAX调用后我的.text()操作不起作用?

来自分类Dev

为什么在Ajax或javascript函数调用后输入字段被禁用?

来自分类Dev

为什么jQueryUI手风琴不适用于ajax调用后绘制的div?

来自分类Dev

为什么这个函数在ajax调用后执行时停止工作?

来自分类Dev

在ajax调用后淡入

来自分类Dev

为什么在函数调用后删除链接列表?

来自分类Dev

为什么取消调用后线程继续运行?

来自分类Dev

为什么R在函数调用后重置dataframe列?

来自分类Dev

在FullCalendar中调用Ajax后为假期着色

来自分类Dev

AJAX调用后呈现问题

来自分类Dev

AJAX调用后的加载指令

来自分类Dev

在ajax调用后重置变量?

来自分类Dev

在ajax调用后重置变量?

来自分类Dev

jScrollPane在AJAX调用后消失

来自分类Dev

Ajax调用后更新图像

来自分类Dev

在ajax调用后返回Collection

来自分类Dev

在AJAX调用后执行javascript

来自分类Dev

在ajax调用后返回false

来自分类Dev

AJAX 调用后的 MarkerCluster 刷新

来自分类Dev

在进行Ajax调用后调用方法的问题

来自分类Dev

发送ajax调用后立即调用函数

来自分类Dev

javascript ajax调用后调用了jquery

来自分类Dev

进行Ajax调用后调用方法的问题

来自分类Dev

为什么不对我的UnhandledExceptionFilter进行简单的除以零的调用?