webbuddu
@webbuddu
Начинающий.

Wordpress, не принимает $_POST?

Сделал форму , но php не принимает POST

код php
add_action('wp_ajax_join_mailinglist', 'join_mailinglist_callback');
add_action('wp_ajax_nopriv_join_mailinglist', 'join_mailinglist_callback');

function join_mailinglist_callback() {
    // Куда отправлять
    $to = 'c@sss.com';
    
    $postlink = trim(strip_tags($_POST['postlink'])); // Так не принимает переменную ///////////

    $postlink = $_POST['postlink']; // и Так не принимает переменную ////////////////////////////
     


    $email = trim(strip_tags($_REQUEST['email'])); // А так принимает


    $subject = 'Сообщение с сайта' . $posttitle;
    
    $headers = "From: " . $email . "\r\n";
    $headers .= "Reply-To: " . $email . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=utf-8\r\n";
    
    $message = "<html><div>";
    $message .= 'Сообщение с сайта <br /> От: '. $posttitle;
    $message .= 'Сообщение со страницы <br /> От: '. $postlink;
    $message .= '<br /> Email отправителя: '. $email;
    $message .= "</div></html>\r\n";
    $mail = mail($to, $subject, $message, $headers);

    if($mail){
        echo 'Вы успешно подписались' . $postlink . $email; //  Переменные для проверки
    }else {
        echo 'Ошибка попробуйте ещё раз';
    }

wp_die();
}


Скрипт отправки

jQuery(document).ready(function(){
  jQuery("#mailinglistsubmit").click(function()  {

    var postlink = jQuery('#postlink').val();
    var email = jQuery('#mailinglistemail').val();


    jQuery.ajax({
          url: ajaxurl,
          data: {
              action: 'join_mailinglist', 
              type: 'POST',
              email: email,  
              postlink: postlink,
          },
             success:function(data) {
              console.log(data);
              jQuery("#mailinglist #message").text( data );
          },
          error: function(errorThrown){
            console.log(errorThrown); 
          }
          }); 

        return false;
      
    });
  });
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
usdglander
@usdglander
Yipee-ki-yay
Видимо, потому что запрос всё таки имеет тип GET! :)
type: 'POST', вынесите за data.
jQuery.ajax({
          url: ajaxurl,
          type: 'POST',
          data: {
              action: 'join_mailinglist', 
              email: email,  
              postlink: postlink,
          },
             success:function(data) {
              console.log(data);
              jQuery("#mailinglist #message").text( data );
          },
          error: function(errorThrown){
            console.log(errorThrown); 
          }
          }); 
        return false;
    })
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы