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

Saving form value to database through ajax wordpress

本文关键字:保存 数据库 表单 ajax wordpress 通过      更新时间:2023-09-26

如何使用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');

我正在前端中实现它

提前感谢

使用此代码

 <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);
                    }
                });
            });
        });