Отправка нескольких параметров данных с помощью jQuery AJAX

Я отправляю запрос ajax в php файл, как показано ниже:

function checkDB(code, userid)
{

  $.ajax({
  type: "POST",
  url: "<?php bloginfo('template_url'); ?>/profile/check_code.php",
  data: 'code='+code+'userid='+userid,
  datatype: "html",
  success: function(result){

       if(result == 0)
        {
            $('#success').html( code + ' has been redeemed!');
            // alert('success');//testing purposes
        }
        else if(result == 2)
        {
            $('#err').html(  code + ' already exists and has already been redeemed....');
            //alert('fail');//testing purposes
        }else if(result == 1){
            $('#err').html(  code + ' redeem code doesnt exist');      
        }

        alert(result);      
      }
  })

}

Это сообщение вызывает функцию для отправки, например:

<form method="post" class="sc_ajaxxx" id="sc_add_voucherx" name="sc_ajax"  
     onsubmit="checkDB(document.sc_ajax.sc_voucher_code.value, <?php echo $user_id ?>); return false;">
</form>

Проблема заключается в том, что переменная php user id не отправляется на страницу check_code.php с помощью ajax. или, по крайней мере, я не могу повторить идентификатор обратно на страницу.

Является ли это правильным способом передачи нескольких значений на серверную страницу? Без прохождения идентификатора пользователя он отлично работает, просто передавая код.

Спасибо, ребята:)

Ответ 1

Вот как следует форматировать данные POST:

key1=value1&key2=value2&key3=value3

В вашем случае (обратите внимание на & как разделитель):

'code=' + code + '&userid=' + userid

Но jQuery делает это для вас, если вы укажете свои данные как объект:

data: { code: code, userid: userid }

Ответ 2

вы должны установить data так:

data: 'code='+code+'&userid='+userid

Ответ 3

вы можете попробовать следующее:

data: 'code='+code+'&userid='+userid,

вместо

data: 'code='+code+'userid='+userid,

Ответ 4

обычно отправка ваших данных, как это помогает:

data: { code: code, userid: userid }

Самое главное не забывать - проверить, совпадает ли имя передаваемых переменных на стороне сервера.

Ответ 5

Попробуйте этот код... он работает для меня...

<script type='text/javascript'>
$(document).ready(function(){
  $(".star").click(function(){
   var rate_value1= $(this).index(".star")+1;
    $.ajax({
    type: "POST",
    dataType: "json",
    url:  "<?php echo(rootpath()) ?>/vote.php",

data: { product_id: '<?php echo($product_id_to_permalink) ?>' , rate_value: rate_value1 }

        });
      });
    });
</script>       

Ответ 6

 Try this code... 
    <script>
     function quote_ajax_table(){
       var doc_name = '<?php echo $test; ?>';
       var doc_no = '<?php echo $doc_no; ?>';

$.get('quote_ajax_table.php?doc_no='+doc_no+'&doc_name='+doc_name,function(data) {
   $('.dyna').html(data);
 });
}
</script>

//in html code 
  <div class="dyna"></div>

Ответ 7

В ответе Линуса Густава Ларссона Тиля говорится, что я использовал следующую функцию &.ajax(), которая срабатывает при нажатии кнопки, и она отлично работает. Я мог бы передать параметры дня, месяца и года.

$('#convertbtn').on('click',function(){
ageddajax = $("#agedd").val();
agedmmajax = $("#agemm").val();
ageyyyyajax = $("#ageyyyy").val();
    if(ageddajax > 0 && agemmajax > 0 && ageyyyyajax >0){
    $.ajax({
        type:'POST',
        url:'ajaxDataAge.php',
        data:'agedd_id='+ageddajax +'&agemm_id='+agemmajax +'&ageyyyy_id='+ageyyyyajax,
            success:function(html){
            $('#cydivage').html(html);
            }
        });
    }   
});

Ответ 8

требуют ( "conn.php");

            if(isset($_POST['save'])){

                $temp = explode(".", $_FILES["file"]["name"]);
                $newfilename = round(microtime(true)) . '.' . end($temp);
                $filetmp = $_FILES["file"]["tmp_name"];
                $filetype = $_FILES["file"]["type"];
                $filepath = "offerImage/".$newfilename;
                if(move_uploaded_file($filetmp,$filepath)){

                $insert = "insert into tbl_offer_slider_image (image_path) value ('$filepath') ";

                if(mysqli_query($conn,$insert)){
                    echo"<script>
                        alert('Image uploaded successfully')
                        </script>";
                }else{
                    echo "<script>
                        alert('error in image uploading')
                        </script>";
                }

                }else{

                    echo "<script>
                    alert('image upload error')
                    </script>";
                }

            }
Выберите изображение:





Как я могу загрузить и сохранить несколько изображений