我正在将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>
问题是用户ID php变量没有被ajax发送到check_code.php页面。或至少我似乎无法将ID回显到页面。
这是将多个值传递到服务器端页面的正确方法吗?没有userid传递,仅传递代码即可正常工作。
谢谢你们 :)
这是POST数据的格式:
POST
key1=value1&key2=value2&key3=value3
在您的情况下(请注意请&作为分隔符):
&
'code=' + code + '&userid=' + userid
但是如果您将数据指定为对象,jQuery会为您完成此操作:
data: { code: code, userid: userid }