Atribuire clasa la div cu id criptat base64
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
Stefan
- Mesaje:117
Atribuire clasa la div cu id criptat base64
Salut, cum pot atribui o variabila ca fiind clasa unui div? Am urmatorul cod
Cod: Selectaţi tot
function seteaza(fid){
$.ajax({
url: "ajax/premiera.php",
type: "POST",
data: {id: fid},
dataType: "json",
error: function(xhr, status, error) {
alert(status);
alert(xhr.responseText);
},
success: function(x) {
if(x.stare)
$(x.id).attr('class', 'btn btn-warning');
else
$(x.id).attr('class', 'btn btn-danger');
}
});
}
Returmeaza id-ul criptat cu base64 (EX: #MQ==), deci sub forma de caractere si primesc eroarea
Cod: Selectaţi tot
Uncaught Error: Syntax error, unrecognized expression: #MQ== ...
MarPlo
Mesaje:4343
Salut,
Care este div-ul la care vrei sa adaugi class?
Ce contine rezultatul primit prin ajax de la server (in codul tau acel parametru "x"), e un obiect cu parametru "id"? verifica in acea functie si vezi in consola, cu:
Stefan
Mesaje:117
Pai x returnează date în JSON, x.stare returnează starea unui element din baza de date (0,1) iar x.id returnează id ul criptat cu Base64 (#MQ==)
MarPlo
Mesaje:4343
Daca vrei sa decodezi in javascript sirul criptat cu base64, foloseste functia
atob().
In codul tau:
Cod: Selectaţi tot
function(x){
let id = window.atob(x.id);
if(x.stare) $(id).attr('class', 'btn btn-warning');
else $(id).attr('class', 'btn btn-danger');
}
- Functia
btob() se foloseste pt. criptare base64.