JSON data ophalen jquery

Gestart doorDylan19 reacties37 weergaven

20 berichten · pagina 1 van 2

Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Hoi,

Ik probeer met jQuery data op te halen maar het lukt me niet.

JSON output:

Codeblok (voorbeeld.php):

1

{"all":{"id":["64"],"code":["AqCeTZ3Q"],"file_match":["voorbeeld.php"],"file_size":["30"],"expire":["1386543600"],"ip":["dada"],"can_used":["0"],"opmerking":["
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Waarom this?

Je hebt bij de succes functie niet aangegeven in welke variabele je de output wilt hebben..

Voorbeeldje hoe het wel werkt:

function update() {
    var value = document.getElementById("chooser").value;
    $.ajax({
    url: "./json.php",
    dataType: json,
    success: function(data) {
        alert(data);
    }
});
}
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
Waarom this?

Je hebt bij de succes functie niet aangegeven in welke variabele je de output wilt hebben..

Voorbeeldje hoe het wel werkt:

function update() {
    var value = document.getElementById("chooser").value;
    $.ajax({
    url: "./json.php",
    dataType: json,
    success: function(data) {
        alert(data);
    }
});
}
Waar haal je die data vandaan? Niks in mijn json heet data?

Het werkt trouwens wel;

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10

function update() {
var value = document.getElementById("chooser").value;
$.ajax({
url: "./json.php",
dataType: json,
success: function(data) {
alert(data.active.message);
}
});
}
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Je succesfunctie heeft als eerste parameter de data die teruggestuurd word. data bevat dus jouw json-array.
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
Waar haal je die data vandaan? Niks in mijn json heet data?
Heb je ooit een functie geschreven? Of hadden die allemaal geen parameters?
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
Eerdere citaten tonen
Dylanh schreef:
Waar haal je die data vandaan? Niks in mijn json heet data?
Heb je ooit een functie geschreven? Of hadden die allemaal geen parameters?
Jawel, alleen ik dacht dat de parameter all was omdat:

{"all":{"id":["64","65"],"code":["AqCeTZ3Q","CTRtldIw"],"file_match":["voorbeeld.php","Handeler.rar"],"file_size":["30","146693"],"expire":["1386543600","1386543600"],"ip":["dada",""],"can_used":["0","1"],"opmerking":["
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wat wil je met die value doen dan? Die value bevat de status o.i.d.. (a string describing the status)
Het lijkt me niet dat die gelijk is aan all (all is op dat moment nergens gedefinieerd..)

Al je json data staat in de variabel data
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
"all" bestaat ook niet los. "data.all" bestaat.

Leer een taal eerst voordat je voor elke poep of scheet een vraag gaat stellen, terwijl je met het begrijpen van de syntaxis van de taal het al zou kunnen oplossen.
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
Wat wil je met die value doen dan? Die value bevat de status o.i.d.. (a string describing the status)
Het lijkt me niet dat die gelijk is aan all (all is op dat moment nergens gedefinieerd..)

Al je json data staat in de variabel data
Rik schreef:
"all" bestaat ook niet los. "data.all" bestaat.
De var value is gelijk aan document.getElementById("chooser").value;

Codeblok (voorbeeld.php):

1
2
3
4
5
6



data.all bestaat niet in de option.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Dude. Je haalt nu 2 dingen door elkaar...

function update() {
    var value = document.getElementById("chooser").value;
    $.ajax({
    url: "./json.php",
    dataType: json,
    success: function(data) {
        if(value == "all") {
                alert(data.all.id);
            } else if (value == "active") {
                alert(data.active.id);
            } else { // expired
                alert(data.expired.id);
                }
            }
        });
    }
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Aaah ik was de " en " vergeten.
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
Aaah ik was de " en " vergeten.
Onder andere. Ook had je value een andere waarde gegeven, door deze als parameter in de functie te zetten.
Snap je dat je bij succes: zelf een functie aan het schrijven bent, die aangeroepen wordt door het jQuery ajax gebeuren, en dat je niet zelf degene bent die de functie aanroept?
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
Eerdere citaten tonen
Dylanh schreef:
Aaah ik was de " en " vergeten.
Onder andere. Ook had je value een andere waarde gegeven, door deze als parameter in de functie te zetten.
Snap je dat je bij succes: zelf een functie aan het schrijven bent, die aangeroepen wordt door het jQuery ajax gebeuren, en dat je niet zelf degene bent die de functie aanroept?
Ja, ik was in de war namelijk als je in javascript een function() maakt typ je meestal tussen de () variabelen die de functie nodig heeft. In dit geval waren dat dus parameters ipv variabelen.

Toch?
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
{"[b][u]all[/u][/b]":{"id":["64","65"],"code":["AqCeTZ3Q","CTRtldIw"],"file_match":["voorbeeld.php","Handeler.rar"],"file_size":["30","146693"],"expire":["1386543600","1386543600"],"ip":["dada",""],"can_used":["0","1"],"opmerking":["<script>",""]},"id":["65"],"active":{"code":["CTRtldIw"],"file_match":["Handeler.rar"],"file_size":["146693"],"expire":["1386543600"],"ip":[""],"can_used":["1"],"opmerking":[""]},"expired":{"id":["64"],"code":["AqCeTZ3Q"],"file_match":["voorbeeld.php"],"file_size":["30"],"expire":["1386543600"],"ip":["dada"],"can_used":["0"],"opmerking":["<script>"]}}
Die JSON code is ook heel brak trouwens. Elke string/integer staat in een onnodige array.

toevoeging op 8 december 2013, 16:51:02:
En bij id 2 parameters geven omdat je 2 resultaten hebt moet ook niet.

Resultaat 1 = {id: 1, naam: "lol"}
Resultaat 2 = {id: 2, naam: "appel"}
Resultaat 3 = {id: 3, naam: "berg"}
Resultaat 4 = {id: 4, naam: "dwerg"}
=>
{resultcount: 4, results: {{id: 1, naam: "lol"}, {id: 2, naam: "appel"}, {id: 3, naam: "berg"}, {id: 4, naam: "dwerg"}}}

Jij hebt

Resultaat = {id: {"1", "2", "3", "4"}, naam: {"lol", "appel", "berg", "dwerg"}}
0
Dylan

Lid · Topicstarter

Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Antonn schreef:
Eerdere citaten tonen
Dylanh schreef:
{"[b][u]all[/u][/b]":{"id":["64","65"],"code":["AqCeTZ3Q","CTRtldIw"],"file_match":["voorbeeld.php","Handeler.rar"],"file_size":["30","146693"],"expire":["1386543600","1386543600"],"ip":["dada",""],"can_used":["0","1"],"opmerking":["<script>",""]},"id":["65"],"active":{"code":["CTRtldIw"],"file_match":["Handeler.rar"],"file_size":["146693"],"expire":["1386543600"],"ip":[""],"can_used":["1"],"opmerking":[""]},"expired":{"id":["64"],"code":["AqCeTZ3Q"],"file_match":["voorbeeld.php"],"file_size":["30"],"expire":["1386543600"],"ip":["dada"],"can_used":["0"],"opmerking":["<script>"]}}
Die JSON code is ook heel brak trouwens. Elke string/integer staat in een onnodige array.

toevoeging op 8 december 2013, 16:51:02:
En bij id 2 parameters geven omdat je 2 resultaten hebt moet ook niet.

Resultaat 1 = {id: 1, naam: "lol"}
Resultaat 2 = {id: 2, naam: "appel"}
Resultaat 3 = {id: 3, naam: "berg"}
Resultaat 4 = {id: 4, naam: "dwerg"}
=>
{resultcount: 4, results: {{id: 1, naam: "lol"}, {id: 2, naam: "appel"}, {id: 3, naam: "berg"}, {id: 4, naam: "dwerg"}}}

Jij hebt

Resultaat = {id: {"1", "2", "3", "4"}, naam: {"lol", "appel", "berg", "dwerg"}}

Dan komen we bij de PHP van json.php:

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62


session_start();
include_once mysqli.class.php;
include config.php;

$mysql = new DBconnection($host, $user, $password, $database);
header(Content-Type: application/json);
if(isset($_SESSION[logged]) && $_SESSION[logged] === TRUE) {
$json = array();
$query = $mysql->query("SELECT * FROM code");
if($query->num_rows == 0) {
$json[all][message] = Geen downloads gevonden.;
}
else {
while($row = $query->fetch_assoc()) {
$json[all][id][] = htmlentities($row[id], ENT_QUOTES);
$json[all][code][] = htmlentities($row[code], ENT_QUOTES);
$json[all][file_match][] = htmlentities($row[file_match], ENT_QUOTES);
$json[all][file_size][] = htmlentities($row[file_size], ENT_QUOTES);
$json[all][expire][] = htmlentities($row[expire], ENT_QUOTES);
$json[all][ip][] = htmlentities($row[ip], ENT_QUOTES);
$json[all][can_used][] = htmlentities($row[can_used], ENT_QUOTES);
$json[all][opmerking][] = htmlentities($row[opmerking], ENT_QUOTES);
}
}


$query = $mysql->query("SELECT * FROM code WHERE can_used != 0 AND expire >=".strtotime(date("d-m-Y"))."");
if($query->num_rows == 0) {
$json[active][message] = Geen actieve downloads gevonden.;
}
else {
while($row = $query->fetch_assoc()) {
$json[active][id][] = htmlentities($row[id], ENT_QUOTES);
$json[active][code][] = htmlentities($row[code], ENT_QUOTES);
$json[active][file_match][] = htmlentities($row[file_match], ENT_QUOTES);
$json[active][file_size][] = htmlentities($row[file_size], ENT_QUOTES);
$json[active][expire][] = htmlentities($row[expire], ENT_QUOTES);
$json[active][ip][] = htmlentities($row[ip], ENT_QUOTES);
$json[active][can_used][] = htmlentities($row[can_used], ENT_QUOTES);
$json[active][opmerking][] = htmlentities($row[opmerking], ENT_QUOTES);
}
}


$query = $mysql->query("SELECT * FROM code WHERE can_used = 0 OR expire < ".strtotime(date("d-m-Y"))."");
if($query->num_rows == 0) {
$json[expired][message] = Geen verlopen downloads gevonden.;
}
else {
while($row = $query->fetch_assoc()) {
$json[expired][id][] = htmlentities($row[id], ENT_QUOTES);
$json[expired][code][] = htmlentities($row[code], ENT_QUOTES);
$json[expired][file_match][] = htmlentities( $row[file_match], ENT_QUOTES);
$json[expired][file_size][] = htmlentities($row[file_size], ENT_QUOTES);
$json[expired][expire][] = htmlentities($row[expire], ENT_QUOTES);
$json[expired][ip][] = htmlentities($row[ip], ENT_QUOTES);
$json[expired][can_used][] = htmlentities($row[can_used], ENT_QUOTES);
$json[expired][opmerking][] = htmlentities($row[opmerking], ENT_QUOTES);
}
}

echo json_encode($json);
}
else {
$json = array(message=> you are not logged in...);
echo json_encode($json);
}

?>

Moet het dan zo,
$json[][all][id].. nee dat kan niet. Hoe dan?
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren