-
GAMEPOD.hu
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Con Troll
senior tag
Sziasztok, MongoDB-vel szeretnék olyat csinálni, hogy a usertől békérek egy usernevet illetve egy profilnevet, ha profilnevet nem ad meg, akkor a default '[username]'s profile' legyen.
A gondom az, hogy a bevitt usernevet nem tudom sehogy sem elérni a default résznél. Mi lenne a helyes módja ennek? Köszönömconst mongoose = require('mongoose');
const Schema = mongoose.Schema;
const User = new Schema({
_id: mongoose.Schema.Types.ObjectId,
username: {
type: String,
required: true,
unique: true,
},
profilename: {
type: String,
default: ??? ,
},
});
module.exports = mongoose.model('User', User);[ Szerkesztve ]
-
amdni
aktív tag
Üdv!
Az alábbi kód miért nem működik? Nem értem:
function UserFv ($connect, $username, $password){
$arr = array();
$sql = mysqli_query($connect, "SELECT id, username, password FROM users where username = '".$username."' and password = '".$password."' ") or die('username or password load error');
while($res = mysqli_fetch_array($sql))
{
array_push($arr,array('id'=>$res['id'],'username'=>$res['username'], 'password'=>$res['password'] ));
}
return $arr;
}
//eddig rendben lefut.
$tomb = UserFv ($connect, $username, $password);
echo $tomb['id');Köszönöm a segítséget és a tanácsokat!
-
Panhard
tag
Sziasztok. Van egy ilyen json formátumom:
[{"egy":"noname","ketto":"valami","harom":"03","negy":04,"ot":05,"hat":06},[{"param":4,"ido":5},{"param":16,"ido":17},{"param":13,"ido":67},{"param":15,"ido":30}]]
Online nézővel így néz ki:
Az első tömb soraira így tudok hivatkozni:
json[0].egy
json[0].ketto
json[0].harom
stb.Hogyan tudok hivatkozni javascriptben a második tömb soraira? Így nem megy:
json[1][0].param
így sem:
json[1].param[0] -
DNReNTi
őstag
válasz Panhard #7058 üzenetére
Ebben az esetben a JSON egy ketelemu tomb. A JSON[0] egy objektum mig a JSON[1] egy ujabb tomb, benne objektumokkal. Elvileg a
JSON[1][n].param
helyes hivatkozas lenne ra, de kiprobalni most nem tudom.Szerk: 'n' az termeszetesen a tetszoleges indexet kivanja reprezentalni, ne konkretan n-et irj be.
[ Szerkesztve ]
but without you, my life is incomplete, my days are absolutely gray
-
Doink
aktív tag
-
Panhard
tag
Akkor csak nálam nem működik valamiért. Az első objektum értékeit ki tudom olvasni, csak a másodikat nem. Lehet hozzá köze annak, hogy a json-t egy php fájl generálja?
A javascript pedig így dolgozza fel:$.getJSON("setup.php?eszkoz="+eszkoz, function (result) {kesz = result;
document.getElementById("username").innerHTML = kesz[0].username;
document.getElementById("eszkoz").innerHTML = eszkoz;
document.forms["myForm"]["p01"].value=kesz[0].upload_interval;
document.forms["myForm"]["p02"].value=kesz[0].minspeed;
document.forms["myForm"]["p03"].value=kesz[0].waitsleeptime;
document.forms["pidForm"]["pidt01"].value=kesz[1][0].ido;
document.forms["pidForm"]["pidt02"].value=kesz[1][1].ido;
document.forms["pidForm"]["pidt03"].value=kesz[1][2].ido;
document.forms["pidForm"]["pid01"].value=kesz[1][0].pid;
document.forms["pidForm"]["pid02"].value=kesz[1][1].pid;
document.forms["pidForm"]["pid03"].value=kesz[1][2].pid;
} -
Panhard
tag
-
coco2
őstag
Sziasztok!
Google chrome környezetben keresek arra lehetőséget, hogy temérdek sok letöltött file-t helyben meg tudjak őrizni későbbi felhasználásra. Max 120 kbyte-os jpeg file-okról van szó, de azokból akár sok10ezrével lehet. Több 10 gigabyte-ig is nőhet a halmaz végül. Egy vastag réteg alkalmazás egyik igénye lenne, aminek az ötletét még csiszolgatom. Egyenlőre nem tudom biztosan, van-e olyan lehetőségem webes alapon is, vagy csak bináris alapon, és annak eldöntéséhez jól jönne a tanács.
Valami fejtágító anyag kellene összefoglaló jelleggel tartalom helyben tárolásának lehetőségeiről és korlátairól. Mi a legtöbb, ami elérhető?
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
bandi0000
nagyúr
Tudnátok ajánlani angulárhoz tutorialt, JWT token kezeléséhez? Amiket én találtam azok nem voltak valami részletesek
Gondolok itt arra, hogy ha megkapja a tokent, akkor valami session-t vagy mit hoz létre, míg le nem jár a token, és el legyenek választva az útvonalak autentikációhoz kötve
Xbox One: bandymnc
-
bandi0000
nagyúr
Ha lenne admin felhasználóm is, akkor arra mi a bevett gyakorlat? Pl ha ugyan azt az oldalt is láthatnák 1-2 plusz funcióval, copy paste a template, vagy ki kellene valahogy egészíteni?
Xbox One: bandymnc
-
bandi0000
nagyúr
Mi lenne a jó megoldás, ha lejár a token?
Tönn megoldás van a fejemben, de nem tudom melyik a jobb, egyrészt a jwt tokenbe be van csomagolva a lejárati idő, amit gondolom lehetne figyelni minden kérés elött, ha lejárt akkor megújítja
vagy azt figyelni, hogy mikor ad vissza a szerver http401 et, és ha vissza ad, akkor vagy megújítás, vagy automatikusan a loginre ugrik
Szerintetek? Vagy más a bevett megoldás erre?
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz martonx #7073 üzenetére
ezt pontosan hogy érted?
Amit hirtelen találtam annak az alapja az, hogy ha 401 et kap vissza, és be volt jelentkezve, akkor csak kér egy új tokentVagy meg lehet azt oldani, hogy a háttérbe figyelné valami a lejárati dátumot, és ha lejár akkor kér egy újat?
Xbox One: bandymnc
-
bandi0000
nagyúr
Kérnék egy kis segítséget, egyszerűen teljesen bele gabalyodtam már a az Observer-be, persze próbálok utána olvasni, de valahogy nem teljesen értem a működésüket stb, Observer az nem vár lényegében, csak ha megkapja az adatot, akkor megcsinálja amit kell, de nem tudom ezt valahogy rá "húzni" az alatta lévő 2 sorra is, hogy addig ne hajtódjon végre, amíg az observer nem kapja meg az adatot?
lényeg, hogy ha HTTP401-et kapok vissza, akkor kér a kliens egy új tokent, és azzal újra elküldi a kérést, viszont ki loggoltam és amit nem igazán értek, hogy kiírja hogy "1", aztán kiírja hogy "null" mert nincs a localstorage-be a token, aztán kiírja a tokent ami a subscribe-n belül van
Azt akarom megoldani, hogy az utolsó log lényegében addig ne legyen végre hajtva, míg nem kerül be a localstorageba a token
if(localStorage.getItem("token"))
{
localStorage.clear();
console.log("1");
this.auth.refreshToken().subscribe(
res=>{
localStorage.setItem('token',res['token'])
console.log(localStorage.getItem('token'));
request = this.addRefreshToken(request);
},
err=>console.log(err)
)
console.log(localStorage.getItem('token'));
return next.handle(request);
}Xbox One: bandymnc
-
gary89
csendes tag
válasz bandi0000 #7076 üzenetére
Szia!
Legegyszerűbb ha az egészet becsomagolod egy promiseba, az utolsó két sort berakod a res-hez tartozó blokkba és resolve-al térsz vissza. Error esetén természetesen reject.
Nagyobb kontextus nélkül ennyit tudok mondani, emiatt a függvényed (ha van) visszatérési típusát módosítanod kell, de kb ez a legegyszerűbb.
Ha Observereket használsz és az abból származó eredményre van szükséged és return-t akarsz használni, akkor valami tervezési gond lehet.
-
Gave
addikt
owlCarousel-el, van esetleg valakinek behatóbb ismerete?
A probléma a következő: van egy autoWidth slider, ahol minden owl-item, azaz a single slide felső wrappere kap egy negatív margót, hogy kicsit egymásra érjenek. Ez működik is, de a negatív margókat valamiért nem számolja az owlCarousel, így persze a jobb oldalon jó nagy üres tér marad amikor a vége felé járunk mielőtt vissza lép az első slidera, ezt egy bal oldali padding a külső wrapperen tudja félig meddig "kezelni", de sokkal jobb lenne bele nyúlni a jQuery plugin azon részébe ahol a számolást végzi és lekezelni az extra margókat, hogy az item szélességébe beleszámolódjon.
alap eset
----------------
[ x ] [ x ] [ x ]
----------------mostani
--------------------
[ x ] x ] x ]
--------------------
-----------> ? <-Hálás köszönet ha valakinek van valami ötlete erre.
-
bandi0000
nagyúr
Kérnék egy kis segítséget
Először is egy technikai kérdésem lenne, nem használtam soha még Ajax kérést, de ha jól tévedek, akkor a lényeg, hogy a háttérben elkéri az adatot, úgy, hogy a felhasználó semmit nem vesz észre, ilyen nincs az Angularban? Pl egy olyan funkciót, mint facebookon az értesítéseket hogy csinálják, hogy valós időben oldal újratöltés nélkül jelez?
A másik inkább ötletelés lenne
A freelancerhez hasonló weboldalt akarok csinálni, a gond ott kezdődik, hogy pl megrendelő feltölt egy projektet, amire a programozók vagy bárki reagálhat, tehát tesz rá egy órabér ajánlatot, ezt valahol ki kellene listázni a megrendelő részén, pl a hirdetései alatt kilistázza, hogy ki tett rá ajánlatot, persze ezt csak ő látná, ezután az X ajánlat közül kellene választania egyet, akinek odaadja a projektet, na már most ez a másik oldalt is lenne, tehát a programozó felrak egy hirdetést, hogy ő vállal akármilyen fejlesztést, és erre egy megrendelő ráugorhat, hogy neki kellene csinálni valamit, viszont ebben az esetben is lehet több " ajánlat" a hirdetése alatt, de nem feltétlen választ csak egyet, mert megcsinálhatja az összeset is
Egyrészt a későbbi értékeléseket kellene kötni valamihez pl hirdetéshez ,hogy ne lehessen össze vissza értékelni
Szóval erre keresek valami praktikus megoldást, gondolkoztam hasonló megoldáson is, mint a PH-s rendszer, de ott pár üzenetváltás után létrejön az üzlet, míg az én esetemben inkább személyes megbeszélések után kezdődhetne a projekt és fejeződhetne be
Remélem érthetően hadartam el mit is szeretnék, és megköszönöm ha tudtok 1-2 támpontot adni
[ Szerkesztve ]
Xbox One: bandymnc
-
bandi0000
nagyúr
Köszi , lehet ezt még átgondolom, mert szerintem felesleges, igazából csak az lett volna a cél, hogy jelezzem a felhasználónak hogy ha van olvasatlan üzenete pl, de erre igazáéból elég lenne az ngIf is, ami minden oldal frissítésnél megnézi, hogy van e olvasatlan üzenete, és ha van, akkor oda hegeszt 1 számot az üzenetek mellé pl
Xbox One: bandymnc
-
bandi0000
nagyúr
bocs ,de akkor kérdezek egy utolsót, mert azt se tudom hogy keressek rá
mi a módja annak, hogy formázó tageket tudjak beszúrni egy textareaba vagy akármibe mint pl itt?
Xbox One: bandymnc
-
Jim-Y
veterán
válasz bandi0000 #7080 üzenetére
"Először is egy technikai kérdésem lenne, nem használtam soha még Ajax kérést, de ha jól tévedek, akkor a lényeg, hogy a háttérben elkéri az adatot, úgy, hogy a felhasználó semmit nem vesz észre, ilyen nincs az Angularban?"
Szerintem 100% hogy hasznaltal mar max nem tudsz rola hogy azt hasznaltad. Angular-ban ennek az egyik implementacioja a https://angular.io/guide/http angularjs-ben a $http service. Ujabb bongeszok tamogatjak a `fetch` API-t.
A websocket az mas. Websockettel tudod tobbek kozott elerni, hogy a backend is aszinkron tudjon kommunikalni a frontenddel. Igazabol mas a ketto. Az AJAX szinte minden applikacionak a resze es elengedhetetelen manapsag, websocketre pedig csak ritkan van szukseg.
[ Szerkesztve ]
-
bandi0000
nagyúr
Áhh köszi, és annak mi lenne a módja, hogy csak akkor töltsön be a template, ha megjött az adat? Sima ngIf-el oldjam meg, vagy más a módi erre?
Amit még hirtelen nem találok, hogy miként kellene megoldanom ha a hirdetéseket nem táblázatban, hanem listában vagy akármiben tárolnám, és szeretném használni a paginator-t?
Inkább úgy kérdezem, hogy nekem kellene lekezelni, hogy ha lapoz a felhasználó, akkor az ngFor a következő 10-et rakja ki?Mert táblázatokra tök jó példákat találtam, ahol meg van oldva a lapozás egyszerűen, de listára nem találok hasonlót
Xbox One: bandymnc
-
bandi0000
nagyúr
köszi, akkor ha jól értem amikor a felhasználó navigálna valamire, akkor mielött betöltene az oldaly a resolver fut le, megkapja az útvonal címét, lefuttatja az utvonalon lévő observert vagy valamit, és ha megjött az adat akkor tölti csak be az oldalt ?
Xbox One: bandymnc
-
Jim-Y
veterán
válasz bandi0000 #7087 üzenetére
Attol fugg. A modi az kb ez:
template:
<md-list>
<md-list-item ng-repeat="item in $ctrl.items"></md-list-item>
</md-list>controller:
class ItemController {
constructor() { this._init(); }
async _init() {
this.items = await this.whateverService.getItems();
}
}A two-way binding miatt ha this.items modosul akkor a template is frissiti az allapotat. Nem minden esetben megy igy, van olyan, hogy ng-if-et kell hasznalni mint ahogy emlitettek is, akkor `ng-if` + spinner
[ Szerkesztve ]
-
Jim-Y
veterán
Mar hogy ne menne sokra, Angular 7-ben is vannak komponensek es controllerek max a szintaxis mas. Most megnezve az angular-material oldalat, szinte 1-az-1-ben ugyanigy kell irni: https://material.angular.io/components/list/examples
-
bandi0000
nagyúr
Lehet elbeszélünk egymás mellett, ngFort használtam én is, itt még nem probléma , mert akkor dobálja ki az adatokat amikor megérkezik, csak akkor van baj pl, ha valamilyen szűrőt használnék, és ebben az esetben nem közvetlen a lekért adatokat jelenítem meg, hanem egy másik változóba belerakom az eredeti adatot, és azt aggregálom, ebben az esetben, ha a subscribe-n kívülre rakom az új változó értékadását, akkor hibát fog dobni, mivel bele akarja rakni az adatot, de az még nincs itt
A fentebb linkelt resolve jónak tűnik, mert pont azt csinálja, csak ahogy látom, azt minden componensre meg kell csinálni egyénileg
Xbox One: bandymnc
-
bandi0000
nagyúr
legegyszerűbb így elképzelni: gyári ha kitörlöd a desserts értékadását, akkor kb azt éred el, mintha nem jött volna meg az adat szerverről, és meghívja az üres tömbre a slice metódust, ami hibát dob rögtön
Nyilván én ezt megoldottam így, hogy a subscrible alá behúztam a slice-os sort, és akkor csak azután futna le, miután megjön az adat, de ez azért nem hiszem, hogy a legjobb megoldás
Xbox One: bandymnc
-
Sziasztok! Kéne egy kis help, mert semennyire sem értek a javascripthez.
A feladat egyszerű. Van egy user facing oldal, ahol van egy darab HTML-form. Szeretném a html form input mezőinek változását detektálni és csak abban az esetben láthatóvá/kattinthatóvá tenni a Submit gomot, ha változás történt.
Bootstrap és jQuery is van, ezért jQuery-ben szeretném a megoldást. Egyébként az oldalt ASP .NET Core platformra fejlesztem VS-sel.
Utánaolvastam és a megoldásnak úgy kéne működnie, hogy oldalbetöltés után szerializálom a formot és elmentem. Ezután a form minden input mezőjéhez hozzárendelésre kerül egy "change input" event handler ami a beviteli mező változásakor újra szerializálja a formot és az elmentett értékkel való egyezőség esetén eltünteti/deaktivála egyébként meg engedélyezi a Submit gombot.
Ezt sikerült összekendácsolnom, de nem működik:
<form id="rsvpForm">
<button id="rsvpSubmit" class="btn btn-primary btn-submit" type="submit">
Send
</button>
</form><script>
var $origForm;
var $form
$(document).ready(function () {
$form = $("#rsvpForm");
$origForm = $form.serialize();
});
$(document).ready("#rsvpForm:input").on("change input", function () {
$("#rsvpSubmit").toggle($form.serialize() !== $origForm);
});
</script>[ Szerkesztve ]
-
cattus
őstag
válasz joysefke #7099 üzenetére
Nem kell semmit szerializálni, nem is tudom ezt honnan vetted.
A HTML-be alapból letiltod a gombot egy disabled attribútummal.
<button id="rsvpSubmit" class="btn btn-primary btn-submit" disabled type="submit">Send</button>
A JS:
$(document).ready(function() {
$('#rsvpForm :input').change(function() {
$("#rsvpSubmit").removeAttr('disabled');
});
});Ja és a pastebin-es kódban a jquery-t meg hasonlókat korábban húzd be, mint a saját kódod.
[ Szerkesztve ]
Do the thing!
Új hozzászólás Aktív témák
- Építő/felújító topik
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Mindent megtudtunk az új Nokia 3210-ről
- sziku69: Fűzzük össze a szavakat :)
- Sony MILC fényképezőgépcsalád
- Luck Dragon: MárkaLánc
- Xbox Series X|S
- Kerékpárosok, bringások ide!
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen