Avatar billede hulla Novice
15. maj 2011 - 13:22 Der er 10 kommentarer og
1 løsning

jQuery parseJSON

Hej

Jeg har et helt konkret spørgsmål.

Jeg har denne linje i min js fil:
var obj = $.parseJSON('{"name":"John"}');

Når jeg kører den får jeg fejlen "Object doesn't support this property or method"

Jeg bruger meget andet jQuery på siden som virker glimrende.

Hvad gør jeg galt?
Avatar billede heinzdmx Nybegynder
15. maj 2011 - 13:50 #1
Hvis det er præcist som beskrevet så burde det jo næsten virke, online dokumentationen bruger jQuery i stedet for $ (men burde jo ikke gøre en forskel)

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );


http://api.jquery.com/jQuery.parseJSON/
Avatar billede hulla Novice
15. maj 2011 - 14:22 #2
Ja, det er der jeg har det fra. Har bare prøvet at udskifte jQuery med $.
Avatar billede heinzdmx Nybegynder
15. maj 2011 - 14:28 #3
Er det alle browsere der ikke virker?

Virker det hvis det er det eneste jQuery du har på siden?
Avatar billede hulla Novice
15. maj 2011 - 14:35 #4
Det her er det komplette indhold af js filen:

$(document).ready(function ()
{
    Test();   
});

function Test()
{
    var obj = $.parseJSON('{"name":"John"}');
    alert(obj.name);
}

Det ser ud til at gælde alle browsere, har prøvet med FF og IE8
Avatar billede wanze Nybegynder
15. maj 2011 - 14:38 #5
Der må være noget kode du udelader. Definerer du en klasse/variabel et andet sted, der hedder obj eller name? Prøv evt. at kalde din egenskab noget andet end "name".
Avatar billede wanze Nybegynder
15. maj 2011 - 14:49 #6
Følgende kode virker fint for mig:
<html>
<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function ()
{
    Test();   
});

function Test()
{
    var obj = $.parseJSON('{"name":"John"}');
    alert(obj.name);
}

</script>
</head>
<body>

</body>
</html>

Fungerer den hos dig?
Avatar billede Slettet bruger
15. maj 2011 - 15:03 #7
Jeg forstår ikke formålet med funktionen..
- hvad er det galt med simpelthen:

var obj = {"name":"John"}
alert(obj.name)
Avatar billede hulla Novice
15. maj 2011 - 17:50 #8
@ Tom: Nu er det jo ikke lige det indhold der skal bruges, det er for simplicitetens skyld. Men det virker som du skriver det, også hos mig.

@ wanze: Det der virker heller ikke hos mig, faktisk virker det som om den ikke vil genkende parseJSON som en del af jQuery hos mig.
Jeg har også forsøgt med object som serialiseres som JSON på serversiden, det giver samme resultat.
Avatar billede hulla Novice
15. maj 2011 - 18:37 #10
Jeg benytter både IE og FF. Det virker ikke i nogen af dem.
Jeg har også lige prøvet med Chrome, med samme resultat.
Avatar billede hulla Novice
20. juli 2011 - 07:49 #11
Jeg endte med at benytte en helt anden js metode (ikke JQuery) til at parse  mit JSON
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester