Snažím sa vytvoriť pole JSON v laravel apotom sa ho pokúsime pretiahnuť cez ajax jquery. To vytvára JSON, ale pri jeho načítaní z jquery vytvára problémy. Nie som schopný vyzdvihnúť páry kľúč-hodnota tam.
Tu je kód na vytvorenie poľa JSON v Laraveli (PHP):
foreach ($userIds as &$userId) {
$data[] = json_encode(array("Id"=>$id,"Name"=>$name,"HashId"=>$hashId));
}
return $data;
PS. $data
ukazuje tento druh odpovede:
[
"{"Id":"111","Name":"abc","HashId":"I1J6EDO"}",
"{"Id":"112","Name":"xyz","HashId":"MDLYW9K"}"
]
toto je spôsob, akým sa snažím volať ajax req:
$.ajax({
type: "GET",
url: "/url/goes/here",
dataType: "json",
success: function(data) {
$.each(data, function(key, value){
$.each(value, function(key1, value1){
console.log(value1);
});
});
}
});
konzola zobrazuje chybu:
Uncaught TypeError: Cannot use "in" operator to search for..
po nejakom vyhľadávaní som pochopil, že možno odpoveď je reťazec JSON a nie pole JSON alebo obj (podľa očakávania)
Potrebujem pomoc pri získavaní páru kľúč-hodnota. Aj ja som otvorený pre zmenu spôsobu, akým som kódovať JSON v laravel.Link pomôžte, pretože som nový pre obe JSON a AJAX
odpovede:
2 pre odpoveď č. 1Mali by ste zakódovať všetko po vytvorení polí
$data = array();
foreach ($userIds as $userId) {
$data[] = array("Id"=>$id,"Name"=>$name,"HashId"=>$hashId);
}
return json_encode($data);