Jeg vil ikke gi detaljer forklaring på bruken av eval () -funksjonen her. En JSON-fil er en tekstfil hvis innhold er en Javascript-objekt bokstavelig. Innholdet begynner med den åpne klammeparentes {, og slutter med tett krøllete brace,}. Her er et enkelt eksempel på en JSON-fil (alt innholdet): {eiendom1: "en vare", myArray = ["element one", "element to", "element tre"], myFn: ny funksjon ("x" "y", "var z = x + y; returnere z * z;")} Alt det du skriver inne i klammeparentes bør være i samsvar med syntaksen for innholdet av et objekt bokstavelig.
Ajax og JSON-fil du vil laste ned en JSON-fil av Ajax, hva du trenger å gjøre er å sette navnet på filen på slutten av nettadressen til i Ajax objekt open () metoden. Noe sånt som dette: myAjax.open ("GET", "https://www.mywebsite.com/xxx.json", true); hvor xxx.json er navnet på filen. Merk at filen har utvidelsen, json. Etter en vellykket nedlasting, Ajax protestere eiendommen som ville holde innholdet av filen er, response. Når du har din URL som vist ovenfor, vil innholdet av filen være verdien av response eiendommen av Ajax objektet.
Så, hvis navnet på Ajax objektet var, myAjax, deretter å få tilgang til verdien av filen response eiendommen, skriver du: myAjax.responseText Merk punktum i mellom, myAjax og response. Målet er å ha innholdet i JSON-fil som en brukbar Javascript objekt. Verdien av response er ikke en brukbar (kjørbar) Javascript objekt; Det er en streng. Det er to skritt for å gjøre det en Javascript-objekt. Først må du legge ved uttrykket, myAjax.responseText i parentes, og som en streng.
Deretter bruker du det øverste nivået Javascript eval () -funksjonen til å konvertere den til en Javascript kjørbar kode (objekt bokstavelig). For å oppnå dette kabinettet, gjør du noe sånt som dette: myString = "(" + myAjax.responseText + ")"; Dette gir deg strengen "(myAjax.responseText)". Hvis vi nå passerer denne strengen som argument inn i eval () -funksjonen som vist nedenfor, vi