data do dialogu pomocí doctrine metody
- ondrusu
- Člen | 118
Ahoj, mám takový dotaz.
Chci poslat do formuláře v bootstrap dialogu data, které si načtu
z presenteru z doctrine metody.
public function handleRenderData($data_id) {
if ($this->isAjax()) {
$user = (array) $this->user_facade->getUser($data_id);
$this->payload->table = $user;
$this->sendPayload();
}
}
function loadData(id) {
$.nette.ajax({
type: 'GET',
url: "?do=renderData",
data: {
"data_id": id
},
success: function (data) {
console.log(data.table);
},
error: function (jqXHR, textStatus, errorThrown) {
text = "An error occurred... Look at the console (F12 or Ctrl+Shift+I, Console tab) for more information!<br><br>"
+ "<b>" + jqXHR.statusText + "</b><br>"
+ jqXHR.responseText.substring(0, 360) + " . . . <b>More in console</b>";
}
});
}
V console vidím data, ale nevím jak se k nim v javascriptu dostat ( viz
zde )
když napíšu data.table.id
tak mi to
vrátí undefined
a když napíšu místo
$user = (array) $this->user_facade->getUser($data_id);
$user = (object) $this->user_facade->getUser($data_id);
tak mi to vrátí prázdný object.
Nevíte kde dělám chybu? Resp. možná to dělám úplně blbě.
- ondrusu
- Člen | 118
A nemáte někdo tušení proč je tam ta hvězdička??
Vypsal jsem si cyklus
for (var key in data.table) {
console.log(key + ": " + data.table[key]);
}
Console vyhodila:
*id: 1
*password: $2y$10$a3IqDdOr9mWQt4wFpGD5puDFgJ8ekUOAowMCO7FmhBRgPSCjb9DwO
*email:
*first_name: user
*last_name: user
.
.
Ale když zadám
console.log('email:'+data.table['*email']);
Tak to vyhazuje undefined
.
- David Matějka
- Moderator | 6445
A nemáte někdo tušení proč je tam ta hvězdička??
protoze jsou protected. http://ocramius.github.io/…-conversion/
takhle nechces posilat data do sablony, napis tam normalne
[
'email' => $user->getEmail(),
]
(nebo pouzij komplexni reseni jako JMS serializer)