我正在向php文件发送一个ajax请求,如下所示:
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);
}
})
}
Run Code Online (Sandbox Code Playgroud)
这是通过调用提交函数发送的,如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
问题是用户id php变量没有被ajax发送到check_code.php页面.或者至少我似乎无法将id回显到页面.
这是将多个值传递到服务器端页面的正确方法吗?如果没有用户标识传递,它只需传递代码即可.
多谢你们 :)
Lin*_*iel 124
以下是POST数据的格式:
key1=value1&key2=value2&key3=value3
Run Code Online (Sandbox Code Playgroud)
在你的情况下(注意&作为分隔符):
'code=' + code + '&userid=' + userid
Run Code Online (Sandbox Code Playgroud)
但是,如果您将数据指定为对象,jQuery会为您执行此操作:
data: { code: code, userid: userid }
Run Code Online (Sandbox Code Playgroud)