nette.ajax vrací null u id
- jedlicka
- Člen | 70
Ahoj,
mám latte šabloně na tlačítku volání ajaxu.
Když ajax napíšu takto:
<?php
$('#addContractBtn').on('click', function () {
var customerID = $("#customerID").val();
$.nette.ajax({
url: {link Record:addContract},
type: 'GET',
data: {
id: customerID
}
})
});
?>
tak v presenteru pomocí $id = $this->getParameter('id');
je
$id
null. Pokud id přejmenuji na cokoliv jiného,
např. customerID
, tak vrátí správnou hodnotu.
Proč to pro id vrací null?
Když ajax napíšu takto:
<?php
$('#addContractBtn').on('click', function () {
var customerID = $("#customerID").val();
$.nette.ajax({
url: {link Record:addContract,id=>customerID},
type: 'GET'
})
});
?>
tak v presenteru pomocí $id = $this->getParameter('id');
je
$id
string „customerID“ nikoliv hodnota proměnné
customerID
.
Kde dělám v obou případech chybu?
Díky moc.
Martin
- CZechBoY
- Člen | 3608
ad 1) Protože routa s parametrem id bude asi
<presenter>/<action>/<id>
a ne query string.
ad 2) Protože adresu generuješ v php dřív než je k dispozici
javascript
já tohle řeším placeholderem, např. takto
$('#addContractBtn').on('click', function () {
var customerID = $("#customerID").val();
$.nette.ajax({
url: {Record:addContract,id => 'asdf'}.replace('asdf', customerID),
type: 'GET'
});
});