Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php wordpress插件中使用ajax向自定义表插入数据时出现问题_Php_Ajax_Wordpress_Wordpress Plugin Creation - Fatal编程技术网

Php wordpress插件中使用ajax向自定义表插入数据时出现问题

Php wordpress插件中使用ajax向自定义表插入数据时出现问题,php,ajax,wordpress,wordpress-plugin-creation,Php,Ajax,Wordpress,Wordpress Plugin Creation,我试图在wordpress中的自定义表中插入数据,同时使用AJAX创建插件。但我没能做到。 下面是我注册脚本的contact.php代码 add_action('wp_enqueue_scripts', 'setting_up_scripts_contact_form_wp'); function setting_up_scripts_contact_form_wp() { wp_register_style( 'contact-custom-style',plugins_url

我试图在wordpress中的自定义表中插入数据,同时使用AJAX创建插件。但我没能做到。 下面是我注册脚本的contact.php代码

    add_action('wp_enqueue_scripts', 'setting_up_scripts_contact_form_wp');
function setting_up_scripts_contact_form_wp() {
    wp_register_style( 'contact-custom-style',plugins_url('public/css/style.css', __FILE__) );
    wp_enqueue_style( 'contact-custom-style');
    wp_enqueue_script( 'cfajax-con', plugins_url('includes/submit-form.js', __FILE__),array(),false,true  );
    // wp_enqueue_script( 'wpforajax_con_test', plugins_url('public/js/test.js', __FILE__) );
    // wp_register_script('wpforajax_con_test', plugin_dir_url(__FILE__) . 'test.js', true);
    wp_localize_script(
        'jsforcon-frontend-js',
        'jsforcon_globals',
        [
          'ajax_url'    => admin_url( 'admin-ajax.php' ),
          'nonce'       => wp_create_nonce( 'jsforcon_insert_nonce' )
        ]
      );
}
联系方式为

<div class="container">
    <div class="row display_big justify-content-center">Contact Us</div>
        <div class="row justify-content-center">
            <div class="col-md-6 ">
            <form>
           <input type="text" id="conName" class="txt_trans txt_full " name="conName" placeholder="Name" required><br><br>
           <input type="text" id="conMail" name="conMail" class="txt_trans txt_full" placeholder="Mail" required><br><br>
           <small id="emailHelp" class="form-text text-muted p-0 m-0">We takes your mail id for sending reply to you.</small> 
           <textarea id="conContant" class="txt_a_trans txt_full " name="conContant"cols="30" rows="10" placeholder="content" required></textarea>
           <div class="con_error_msg"></div>
           <button type="button" class="btn_submit" id="saveContact" value="load data" >Contact Us</button><br><br><br><br> 
           </form> 
           </div> </div></div>

<?php echo "<script type='text/javascript'>var ajaxurl = '".admin_url('admin-ajax.php')."'</script>"; ?>

联系我们




我们使用您的邮件id向您发送回复。 联系我们




你说你是在AJAX调用中这样做的?您是否从AJAX调用中写出响应以确保没有收到错误?继续之前,请始终检查XMLHttpRequest的状态和响应是否有错误。

您为submit-form.js的
wp\u enqueue\u脚本添加了错误的处理程序名称

add_action('wp_enqueue_scripts', 'setting_up_scripts_contact_form_wp');
function setting_up_scripts_contact_form_wp() {
    wp_register_style( 'contact-custom-style',plugins_url('public/css/style.css', __FILE__) );
    wp_enqueue_style( 'contact-custom-style');
    wp_enqueue_script( 'jsforcon-frontend-js', plugins_url('includes/submit-form.js', __FILE__),array(),false,true  );
    // wp_enqueue_script( 'wpforajax_con_test', plugins_url('public/js/test.js', __FILE__) );
    // wp_register_script('wpforajax_con_test', plugin_dir_url(__FILE__) . 'test.js', true);

    wp_localize_script(
        'jsforcon-frontend-js',
        'jsforcon_globals',
        [
          'ajax_url'    => admin_url( 'admin-ajax.php' ),
          'nonce'       => wp_create_nonce( 'jsforcon_insert_nonce' )
        ]
      );
}
并将
jsforwp\u globals.ajax\u url
更改为
jsforcon\u globals.ajax\u url

var cf_saveContact =  document.getElementById("cf_saveContact");
cf_saveContact.addEventListener('click', function() {
    var conName =  document.getElementById("conName").value;
    var conMail =  document.getElementById("conMail").value;
    var conContant =  document.getElementById("conContant").value;
   
    if(conName == "" || conMail == "" || conContant == ""){
        document.querySelector(".con_error_msg").innerHTML = "<p style='color:red'>all fields are required</p>";
    }else{
        var action = "jsforcon-insert";
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET",jsforcon_globals.ajax_url+"?action="+action+"&_ajax_nonce="+jsforcon_globals.nonce+"&name="+conName+"&mail="+conMail+"&content="+conContant,true);
        xmlhttp.send();
        xmlhttp.onreadystatechange = function(){
            if(this.readyState == 4 && this.status == 200){
                conName =  document.getElementById("conName").value = "";
                conMail =  document.getElementById("conMail").value = "";
                conContant =  document.getElementById("conContant").value = "";
                document.querySelector(".con_error_msg").innerHTML = "<p style='color:green'>Successfully Sent</p>";
            } 
        } 
     }
});
var cf_saveContact=document.getElementById(“cf_saveContact”);
cf_saveContact.addEventListener('click',function()){
var conName=document.getElementById(“conName”).value;
var conMail=document.getElementById(“conMail”).value;
var conContant=document.getElementById(“conContant”).value;
如果(conName==“”| | conMail==“”| | conContant==“”){
document.querySelector(“.con_error_msg”).innerHTML=“

所有字段都是必需的

”; }否则{ var action=“jsforcon insert”; var xmlhttp=new XMLHttpRequest(); xmlhttp.open(“GET”,jsforcon_globals.ajax_url+”?action=“+action+”&_ajax_nonce=“+jsforcon_globals.nonce+”&name=“+conName+”&mail=“+conMail+”&content=“+conContant,true”); xmlhttp.send(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ conName=document.getElementById(“conName”).value=“”; conMail=document.getElementById(“conMail”).value=“”; conContant=document.getElementById(“conContant”).value=“”; document.querySelector(“.con_error_msg”).innerHTML=“

已成功发送”

”; } } } });
此代码当前在哪里?你检查错误日志了吗?@Bhautik我的代码在plugin文件夹中,ajax文件在plugin/contact/public/js中,我在plugin/contact/contact中声明ajax脚本。php@Bhautik我认为我在ajax调用中提供url是错误的,这个ajax代码在WordPress之外工作,您得到了什么响应?你有什么错误吗?你检查错误日志了吗?让我们看看。
add_action('wp_enqueue_scripts', 'setting_up_scripts_contact_form_wp');
function setting_up_scripts_contact_form_wp() {
    wp_register_style( 'contact-custom-style',plugins_url('public/css/style.css', __FILE__) );
    wp_enqueue_style( 'contact-custom-style');
    wp_enqueue_script( 'jsforcon-frontend-js', plugins_url('includes/submit-form.js', __FILE__),array(),false,true  );
    // wp_enqueue_script( 'wpforajax_con_test', plugins_url('public/js/test.js', __FILE__) );
    // wp_register_script('wpforajax_con_test', plugin_dir_url(__FILE__) . 'test.js', true);

    wp_localize_script(
        'jsforcon-frontend-js',
        'jsforcon_globals',
        [
          'ajax_url'    => admin_url( 'admin-ajax.php' ),
          'nonce'       => wp_create_nonce( 'jsforcon_insert_nonce' )
        ]
      );
}
var cf_saveContact =  document.getElementById("cf_saveContact");
cf_saveContact.addEventListener('click', function() {
    var conName =  document.getElementById("conName").value;
    var conMail =  document.getElementById("conMail").value;
    var conContant =  document.getElementById("conContant").value;
   
    if(conName == "" || conMail == "" || conContant == ""){
        document.querySelector(".con_error_msg").innerHTML = "<p style='color:red'>all fields are required</p>";
    }else{
        var action = "jsforcon-insert";
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET",jsforcon_globals.ajax_url+"?action="+action+"&_ajax_nonce="+jsforcon_globals.nonce+"&name="+conName+"&mail="+conMail+"&content="+conContant,true);
        xmlhttp.send();
        xmlhttp.onreadystatechange = function(){
            if(this.readyState == 4 && this.status == 200){
                conName =  document.getElementById("conName").value = "";
                conMail =  document.getElementById("conMail").value = "";
                conContant =  document.getElementById("conContant").value = "";
                document.querySelector(".con_error_msg").innerHTML = "<p style='color:green'>Successfully Sent</p>";
            } 
        } 
     }
});