用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); } }) } 

这是发送调用提交function,如下所示:

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

问题是用户标识phpvariables没有被ajax发送到check_code.php页面。 或者至less我似乎无法回显id回到页面。

这是传递多个值到服务器端页面的正确方法吗? 没有userid传递,它只是传递代码工作正常。

多谢你们 :)

这里是如何格式化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, 
  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> 

试试这个代码…它正在为我工​​作…

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

不要忘记的最重要的事情是validation你发送的variables的名称在服务器端是否相同