В вашем javascript есть 2 ошибки:
Первая: вы ожидаете, что переменная value
будет строкой, подобной "darbranis"
.Однако $.each
даст первому параметру индекс (0
, 1
, 2
и т. Д. В этом случае, поскольку json
является регулярным массивом), а вторым параметром значение ({"korisnicko_ime":"darbranis"}
для первой записи).
Таким образом:
$.each(json, function (korisnicko_ime, value) {
if (value === kor_ime) {
Должно быть что-то вроде:
$.each(json, function (arrayidx, arrayvalue) {
if (arrayvalue.korisnicko_ime === kor_ime) {
Вторая ошибка: $("#poruke")
будет записано, если естьимя пользователя в json равно kor_ime
.$("#greske")
будет записано, если внутри этого json есть имя пользователя, которое не равно kor_ime
.Поскольку в json много имен пользователей, которые не равны kor_ime
, ВСЕГДА будет написано $("#greske")
.Я предполагаю, что "Korisnik ne postoji!"переводится как «Пользователь не найден», поэтому вам, скорее всего, не понравится это поведение.Чтобы исправить это:
// Initialize userfound as false
var userfound = false;
$.each(json, function (arrayidx, arrayvalue) {
if (arrayvalue.korisnicko_ime === kor_ime) {
// If there is one entry with the correct username, the user is found
userfound = true;
}
});
// After the each check if user is found (one match) or not
// found (no match at all, thus still at initial value false)
if (userfound) {
$("#poruke").text("Korisnik postoji!");
console.log("Korisnik postoji!");
} else {
$("#greske").text("Korisnik ne postoji!");
console.log("Korisnik ne postoji");
}
Завершите демонстрацию в следующем фрагменте кода:
var kor_ime = 'markrc';
var json = [
{"korisnicko_ime":"darbranis"},
{"korisnicko_ime":"markrc"},
{"korisnicko_ime":"leoluk"}
];
var userfound = false;
$.each(json, function (arrayidx, arrayvalue) {
if (arrayvalue.korisnicko_ime === kor_ime) {
userfound = true;
}
});
if (userfound) {
$("#poruke").text("Korisnik postoji!");
console.log("Korisnik postoji!");
} else {
$("#greske").text("Korisnik ne postoji!");
console.log("Korisnik ne postoji");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="poruke" style="color: green;"></div>
<div id="greske" style="color: red;"></div>