ajax не передает правильное значение методом GET, а POST всегда пустым, - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь отправить данные в свою функцию в словесном режиме, используя ajax, но не отправляет правильное значение.

Вот мой html,

   <select id="make" name="make" class="form-control g-py-12 g-rounded-30">
                <?php if(ICL_LANGUAGE_CODE=='en'): ?>
                <option selected value="">Select Make</option>
                <?php elseif(ICL_LANGUAGE_CODE=='ar'): ?>
                <option selected value="">نوع السيارة</option>
                <?php endif; ?>
                <?php
                /**
                 * Output is content
                 */

    $terms = get_terms(
  array(
      'taxonomy'   => 'make',
      'hide_empty' => false,
   )
);

 // Check if any term exists
 if ( ! empty( $terms ) && is_array( $terms ) ) {
// Run a loop and print them all
foreach ( $terms as $term ) { ?>
    <option value="<?php echo $term->name;  ?>">
        <?php echo $term->name; ?>
    </option><?php
   }
 } 


                ?>
              </select>

Вот мой ajax Сценарий

 jQuery(document).ready(function() {

 jQuery('select#make').on('change',  function(){ 

var make = jQuery(this).val();
alert(make);
jQuery.ajax( {
            url: 'https://uat.lumirental.com/wp-admin/admin-ajax.php?action=cms_formsubmit',
            type: 'POST',
            data:  {'value' : 'test'},
            contentType: false,
            processData: false,
            cache: false,
            dataType: 'html',
            success: function ( response ) {
                alert("successfull");
            },
            error: function ( response ) {
                alert( 'something went wrong' );
            }
        } );

   });

   });  

Вот моя функция. php функция

add_action( 'wp_ajax_cms_formsubmit', 'cms_formsubmit' );
add_action( 'wp_ajax_nopriv_cms_formsubmit', 'cms_formsubmit' );


 function cms_formsubmit(){
    echo $make = $_POST['value'];
print_r($_POST);
 foreach($_GET as $key){
echo $key;
echo "<br/>";
}

    $tt = array();
       query_posts(array('post_type' => 'car_listing', 'tax_query' => array(
        array(
            'taxonomy' => 'make',
            'field' => 'slug',
            'terms' => $make,
        )

    ) ) ); 
   if ( have_posts() ) : while ( have_posts() ) : the_post(); 
    echo $tt[] = '<option value="'.get_field('car_model').'"> '.get_field('car_model').' </option>' ;
  endwhile; 
          endif;


   return $tt;
    }

У меня есть несколько проблем, когда я пытаюсь отправить выбранные данные с post, они не отправляются go на страницу, но когда я работаю с этим, он не отправляет правильное значение, которое я могу использовать позже в функции. получить неожиданный массив,

1 Ответ

1 голос
/ 30 января 2020

Необходимо удалить следующие

contentType : false,
processData: false,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...