Ik stuur een ajax verzoek naar een php bestand zoals hier:
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);
}
})
}
Dit wordt verstuurd door de functie op submit aan te roepen, zoals dit:
<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>
Het probleem is dat de gebruiker id php variabele niet wordt verzonden naar de check_code.php pagina door ajax. of althans ik kan niet lijken te echo de id terug naar de pagina.
Is dit de juiste manier om meerdere waarden door te geven aan een server-side pagina? Zonder de userid door te geven, het werkt prima alleen het doorgeven van de code.
Bedankt jongens :)
Hier is hoe POST
gegevens moeten worden geformatteerd:
key1=value1&key2=value2&key3=value3
In uw geval (let op de &
als scheidingsteken):
'code=' + code + '&userid=' + userid
Maar jQuery doet dat voor je als je je gegevens als object opgeeft:
data: { code: code, userid: userid }