Javascript Wordpress Ajax插入不起作用

Javascript Wordpress Ajax插入不起作用,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,您好,我正在WordPress中创建弹出式插件,通过ajax将数据插入数据库。我的弹出式插件代码在jQuery之前一切正常,但在jQuery之后,数据不会插入数据库 这个代码现在对我来说很好用。谢谢你的帮助 <?php /* Plugin Name: SMS POPUP PLUGIN Description: SMS POPUP PLUGIN Version: 1.0 License: Plugin comes under GPL Licence. */ if ( ! define

您好,我正在
WordPress
中创建弹出式插件,通过ajax将数据插入数据库。我的弹出式插件代码在jQuery之前一切正常,但在jQuery之后,数据不会插入数据库

这个代码现在对我来说很好用。谢谢你的帮助

 <?php
/*
Plugin Name: SMS POPUP PLUGIN
Description: SMS POPUP PLUGIN
Version: 1.0
License: Plugin comes under GPL Licence.
*/



if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
}

if ( version_compare( get_bloginfo( 'version' ), '3.9', '<' ) )  {
     wp_die("You must update WordPress to use SMS Factory Bulk SMS Service!");
  }

include_once(ABSPATH.'wp-admin/includes/plugin.php');
function sfp_popup() {

                global $wpdb, $wnm_db_version;

                $sfp_sql = array();

                //sms table
                $sfp_content = $wpdb->prefix . "sfp_content";

                if( $wpdb->get_var("show tables like '". $sfp_content . "'") !== $sfp_content ) { 

                    $sfp_sql[] = "CREATE TABLE ". $sfp_content . " ( sfp_id int(11) NOT NULL AUTO_INCREMENT, sfp_name varchar(256) NOT NULL, sfp_phone int(11) NOT NULL, sfp_pwd varchar(100) DEFAULT NULL, sfp_email varchar(100) DEFAULT NULL, sfp_query varchar(256) DEFAULT NULL, PRIMARY KEY (sfp_id) ) ";
                }


                if ( !empty($sfp_sql) ) {
                    require_once(ABSPATH."wp-admin/includes/upgrade.php");
                    dbDelta($sfp_sql);
                    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
                    add_option("wnm_db_version", $wnm_db_version);

                }

        }

        register_activation_hook(__FILE__, 'sfp_popup'); 

        add_action( 'wp_head', 'enque_sfp_script', 100 );
        function enque_sfp_script(){
            //Include Javascript library
            wp_enqueue_script('sfp_script', plugins_url( '/js/demo.js' , __FILE__ ) , array( 'jquery' ));
            // including ajax script in the plugin Myajax.ajaxurl
            wp_localize_script( 'sfp_script', 'sfpAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php')));
        }

        function sfp_insert(){
            global $wpdb;
            $sfp_table = $wpdb->prefix."sfp_content";
            $name = $_POST['sf_name'];
            $phone = $_POST['sf_phone'];
            $message = $_POST['sf_message'];


                $wpdb->insert( 
                    $sfp_table, 
                    array( 
                        'sfp_name' => $name,
                        'sfp_phone' => $phone,
                        'sfp_query' => $message
                    ), 
                    array( 
                        '%s',
                        '%d',
                        '%s'
                    ) 
                );
            die();
            return true;
        }

    add_action('wp_ajax_sfp_insert', 'sfp_insert');
    add_action('wp_ajax_nopriv_sfp_insert', 'sfp_insert');

    add_action( 'wp_footer', 'sf_display_popup', 100 );

function sf_display_popup(){
?>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script>
    jQuery(document).ready(function($) {
        setTimeout(function(){
                $('#myModal').modal('show');
            }, 3000);


            $( "#sf-popup .sfname" ).keyup(function() {
              if($(this).val() == '' || $( "#sf-popup .sfphone").val() == ''){
                    $('#sfpsubmit').attr('disabled','disabled');

                } else{
                    $('#sfpsubmit').removeAttr('disabled');
                    $( ".sfp_btn" ).click(function() {
                        $('#myModal').modal('hide');
                    });
                }
            });

            $( "#sf-popup .sfphone" ).keyup(function() {
                var sfp_phone = $(this).val();              
                if(sfp_phone.length > 10){
                    $(this).val($(this).val().substr(0,10));
                    $('#sfpsubmit').removeAttr('disabled');
                }   

                    if(sfp_phone == '' || $( "#sf-popup .sfname").val() == '' || $.isNumeric(sfp_phone) == false ||  sfp_phone.length < 10){
                    $('#sfpsubmit').attr('disabled','disabled');

                } else{
                    $('#sfpsubmit').removeAttr('disabled');
                    $( ".sfp_btn" ).click(function() {
                        $('#myModal').modal('hide');
                    });
                }
                });

        });

</script>

<style>
.modal.fade .modal-dialog {
    -webkit-transform: scale(0.1);
    -moz-transform: scale(0.1);
    -ms-transform: scale(0.1);
    transform: scale(0.1);
    top: 300px;
    opacity: 0;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

.modal.fade.in .modal-dialog {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transform: translate3d(0, -300px, 0);
    transform: translate3d(0, -300px, 0);
    opacity: 1;
}

textarea.col-md-12 {
    margin: 25px 0;
}
</style>


<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="memberModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <a class="close" data-dismiss="modal">×</a>
            <h3>Modal header</h3>
          </div>
          <div class="modal-body">
<?php   

        echo "<form method='post' action='' name='sf-popup' id='sf-popup' >";
        echo "<input type='text' name='sf_name' id='sf_name' placeholder='Name' class='col-xs-12 col-md-6 sfname'>";
        echo "<input type='text' name='sf_phone' id='sf_phone' placeholder='98765-43210' class='col-xs-12 col-md-offset-1 col-md-5 sfphone'>";
        echo "<textarea name='sf_message' id='sf_message' placeholder='Enter Your Query' class='col-md-12'></textarea>";
        echo "</form>";     
?>
            </div>
            <div class="modal-footer">
                <?php
                    echo "<button id='sfpsubmit' class='btn btn-primary sfp_btn' name='sfpsubmit' disabled>Submit</button>";

                ?>
            </div>
        </div>
    </div>
</div>
<?php
}
?>
请尝试以下数据:

数据:{action:“post\u word\u count”,sf\u name:name},

使用此debugin函数

add_action('wp_ajax_post_word_count', 'post_word_count'); 
add_action('wp_ajax_nopriv_post_word_count', 'post_word_count'); 
    function post_word_count(){
    echo $_POST['sf_name'];
    die();
    }
请尝试以下数据:

数据:{action:“post\u word\u count”,sf\u name:name},

使用此debugin函数

add_action('wp_ajax_post_word_count', 'post_word_count'); 
add_action('wp_ajax_nopriv_post_word_count', 'post_word_count'); 
    function post_word_count(){
    echo $_POST['sf_name'];
    die();
    }

在代码中,您已将脚本排队,然后将其本地化

它应该首先注册,然后本地化,然后排队

// Register the script
wp_register_script( 'some_handle', 'path/to/myscript.js' );

// Localize the script with new data
$translation_array = array(
    'some_string' => __( 'Some string to translate', 'plugin-domain' ),
    'a_value' => '10'
);
wp_localize_script( 'some_handle', 'object_name', $translation_array );

// Enqueued script with localized data.
wp_enqueue_script( 'some_handle' );
我还没有测试过你的方法,但这个方法对我有效


在代码中,您已将脚本排队,然后将其本地化

它应该首先注册,然后本地化,然后排队

// Register the script
wp_register_script( 'some_handle', 'path/to/myscript.js' );

// Localize the script with new data
$translation_array = array(
    'some_string' => __( 'Some string to translate', 'plugin-domain' ),
    'a_value' => '10'
);
wp_localize_script( 'some_handle', 'object_name', $translation_array );

// Enqueued script with localized data.
wp_enqueue_script( 'some_handle' );
我还没有测试过你的方法,但这个方法对我有效



控制台中没有显示任何内容。在
警报(数据)
中显示0控制台中未显示任何内容。在
警报(数据)
中,显示0他的脚本正在运行,因此问题不在于脚本的放置是的,我的脚本工作正常,唯一的问题是将数据插入数据库。我想澄清的是,我在数据库中有六个字段,但我正在插入一个。你能告诉我你的php文件的名称和位置吗?Hi@PrakashRao我在本地创建这个文件,我所有的php代码都在一个文件中,js在另一个文件中。他的脚本正在运行,所以问题不在于脚本的放置。是的,我的脚本工作正常问题在于将数据插入数据库中。我想澄清一下,我在数据库中有六个字段,但我正在插入一个。你能告诉我你的php文件的名称和位置吗?Hi@PrakashRao我在本地创建这个文件,我所有的php代码都在一个文件中,js在另一个文件中。警报显示什么?什么都没有发生?当我点击
警报按钮时,好的(数据)
显示的是0,就是这个值没有出现在
echo$\u POST['sf\u name'];文档中的
在您应该这样做之前,如果您在POST中运气不佳,请尝试使用get
类型:'get',
和php
echo$\u get['sf\u name']
我的js代码在另一个文件中,php代码在另一个文件中警报显示什么“什么也没有发生”不是很有帮助好的当我点击按钮时,
警报(数据)
显示0就是这样值没有出现在
echo$\u POST['sf\u name']
在文档中是在您应该这样做之前,如果您在post中没有运气,请使用get
键入:'get',
和php
echo$\u get['sf_name'];
我的js代码在另一个文件中,php代码在另一个文件中