javascript - WordPress 给我提供了 404 页面未找到functions.php?

标签 javascript jquery ajax wordpress

<script>
  $(document).ready(function(){
    $("#agentsubmit").click(function(){
      var ajaxurl = '<?php echo site_url();?>/wp-admin/admin-ajax.php';
    	$.ajax({
     		    type: "POST",
    			dataType : "json",
    			url : ajaxurl,
    			data : { 
    			        action :'join_mailinglist_callback',
    				    'email': email
    			        },
    		    success:function(data){
    			   // your success call
    			   $(".alert-message").html(data);
    		    }
    	});				
    });
 });
    </script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<form class="agnet-contact-form" name="contact_form" method="post" action=" " id="agnet-contact-form1">
  <div class="col-xs-6 col-sm-6 col-md-6">
      <input type="text" name="full_name" placeholder="Name" required>
      <input type="text" name="phone_number" placeholder="Phone" required>
      <input type="text" name="email_address" placeholder="Email" id="contactemail" required>
  </div>						
  <div class="col-xs-6 col-sm-6 col-md-6">
      <textarea name="message" placeholder="Message" required></textarea>enter code here
      <input type="submit" class="agent_submit" name="submit" id="agentsubmit" value="submit now">
  </div>						
</form>

Here is code which I wrote in functions.php which is action of ajax.

/* send mail using ajax*/
add_action('wp_ajax_join_mailinglist', 'join_mailinglist_callback');
add_action('wp_ajax_nopriv_join_mailinglist', 'join_mailinglist_callback');

    function join_mailinglist_callback() {
    $email = $_POST['email'];
    if(!empty($email)) {
        $yourEmail = 'fc@abc.com';
        $subject = 'contacting Us';
        $success = mail($yourEmail, $subject, $email);
        if(!empty($success)) {
            echo 'Email sent successfullly.';
        } else {
            echo 'Email Does not send sorry please try again.';
        }
    }
    die();
}   

这段代码给了我错误 NetworkError: 404 Not Found - http://localhost/wordpress/functions.php 我已经使用了 jquery,并且还在我的代码中包含了 min.js 文件。并传递了 admin ajax 的 url,但警报在我尝试过的响应中不起作用。 这是什么原因以及如何解决。 如果电子邮件发送成功给出响应,它会在 Div 上写下电子邮件发送成功,否则它会说电子邮件不会从functions.php文件发送

最佳答案

引用wp_ajax .

ajax 函数中的代码是错误的,试试这个:

<script>
$(document).ready(function(){
$("#agentsubmit").click(function(){
  var ajaxurl = '<?php echo site_url();?>/wp-admin/admin-ajax.php';
    $.ajax({
            type: "POST",
            dataType : "json",
            url : ajaxurl,
            data : { 
                    action :'join_mailinglist',
                    'email': email
                    },
            success:function(data){
               // your success call
               $(".alert-message").html(data);
            }
    });             
});
});
</script>

关于javascript - WordPress 给我提供了 404 页面未找到functions.php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477295/

相关文章:

javascript - 如何在 JavaScript 对象数组中查找重复值,并只输出唯一值?

javascript - 为什么我的 React 组件渲染被调用两次,一次没有数据,然后又一次有数据,但是为时已晚的异常?

javascript - 向下滚动时如何创建一个小窗口?

带有鼠标悬停/鼠标悬停的 jQuery Accordion 导航

javascript - 通过ajax调用从php文件接收多个值

javascript - 如何将其转换为DataTable?

javascript - HTML 源链接试图查找文件而不是访问网站

jquery - 使用 Bootstrap 在图标旁边显示弹出窗口

javascript - 代码片段解释,函数参数

PHP表单从MYSQL表中删除不删除右侧行