通过ajax wordpress将表单值保存到数据库

时间:2016-03-22 01:05:00

标签: javascript php jquery ajax wordpress

如何使用ajax和表单将数据保存到数据库。我已经工作了一天但仍然没有运气我不知道这个代码我现在出现了什么问题。这是一个wordpress

以下是代码:

此javascript位于header.php

<form>
<input name="MyUrlName" type="text" class="add_name" id="MyUrlName" placeholder="Name of website">
<input type="button" name="submit" id="MyUrlsubmit" value="Add URL" class="submit">
</form>
jQuery(document).ready(function(){
        jQuery("#MyUrlsubmit").click(function(){
            var name = jQuery("#MyUrlName").val();
            jQuery.ajax({
                type: 'POST',
                url: "<?php echo admin_url('admin-ajax.php'); ?>",
                data: {"action": "savedata", "MyUrlName":name},
                success: function(data){
                //alert('success');
                 console.log(data);
                }
            });
        });
    });

这是function.php中的代码

 function savedata(){
        $name = $_POST['MyUrlName'];
            global $wpdb;
            $table_name = $wpdb -> prefix . "save_url";

       $wpdb->insert( 
                $table_name, array( 
                    'name' => $_POST['MyUrlName']
                ),
                array(
                    '%s'
                )
            );
       return true;
exit();
    }
add_action('wp_ajax_nopriv_savedata', 'savedata');
add_action('wp_ajax_savedata', 'savedata');

我正在前端实现它

提前谢谢

1 个答案:

答案 0 :(得分:2)

使用此代码

 <form>
    <input name="MyUrlName" type="text" class="add_name" id="MyUrlName" placeholder="Name of website">
    <input type="button" name="submit" id="MyUrlsubmit" value="Add URL" class="submit">
    </form>
    jQuery(document).ready(function(){
            jQuery("#MyUrlsubmit").click(function(){
                var name = jQuery("#MyUrlName").val();
                jQuery.ajax({
                    type: 'POST',
                    url: "<?php echo admin_url('admin-ajax.php'); ?>",
                   data: {action: "savedata", MyUrlName:name},               

                    success: function(data){
                    //alert('success');
                     console.log(data);
                    }
                });
            });
        });