Отправка нескольких параметров данных с помощью 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. или, по крайней мере, я не могу повторить идентификатор обратно на страницу.

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

Спасибо, парни 🙂

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

 key1=value1&key2=value2&key3=value3 

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

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

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

 data: { code: code, userid: userid } 

вы должны установить свои data следующим образом:

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

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

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

вместо

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

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

 <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> 

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

 data: { code: code, userid: userid } 

самое главное не забывать – проверить, совпадают ли имена переменных, которые вы отправляете, на стороне сервера

  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>