JavaScript: Parameter mit Funktion bereitstellen

Gast #4800298
Lesenswert?

Ich habe ein simples Problem mit JavaScript.

Im Script möchte ich die Werte 7 und 11 von einem php auslesen und 
eintragen.
1
var test = myApp.picker(
2
                                 {
3
 
4
                                 value: [8,11],
5
                          
6
                                 });


1
$.get("https://localhost/data.php");
Das ergibt das Resultat 8:11 als String.
1
actualTimeWeekendArray = $.get("https://localhost/data.php").split(":");
Das sollte ein Array mit den Werten 8 und 11 geben.

Wie kann ich jetzt diese Daten in den obigen Code einfügen?
Danke für die Hilfe!
#4800491
Lesenswert?

boris schrieb:
> $.get("https://localhost/data.php";);
> Das ergibt das Resultat 8:11 als String.

RTFM = read the fucking manual. Deine Annahme, das ein String 
zurückgegeben wird, ist falsch. Auf der ersten Zeile des Manuals:
https://api.jquery.com/jquery.get/
> jQuery.get( url [, data ] [, success ] [, dataType ] ) Returns: jqXHR

Gibt also ein jqXHR Objekt zurück. Falls du den code sauber aufgebaut 
hast, und asynchron arbeiten kannst, kannst du eine callbackfunktion 
nutzen:
1
$.get("https://localhost/data.php", function( data ){
2
  data = data.split(":");
3
  var test = myApp.picker({
4
    value: data
5
  });
6
});

Andernfalls müsste man synchron arbeiten, und das würde die Seite 
einfrieren, bis data.php geladen ist.

Und öffne auch mal die Konsole, da müsste irgendwas in die richtung 
"undefined isn't a function" oder so stehen.

PS: Ich nutze jQuery selbst nicht und habe den code nicht getestet.
Gast #4800633
Lesenswert?

Keine Fehler. Der Wert stimmt aber nicht.

Ich möchte ja innerhalb des Scriptes [5,23] einfügen. Was wiederum ein 
Array mit Integer sein sollte.

5:23 wird ja in ein solches Array umgewandelt. Ich verstehe nicht, warum 
das nicht geht.
#4800668
Lesenswert?

Man könnte versuchen herauszufinden, woran es liegt, indem man einige 
Debug ausgaben einbaut:
1
console.log("test1");
2
$.get("https://localhost/data.php", function( data ){
3
  data = data.split(":");
4
  console.log(data,myApp);
5
  var test = myApp.picker({
6
    value: data
7
  });
8
  console.log(test);
9
});
10
console.log("test2");
Die Ausgaben müssten dan in der Konsole zu finden sein.
#4801122
Lesenswert?

D. I. schrieb:
> Du könntest es auch gleich richtig(tm) machen und dir die Daten als JSON
> liefern lassen ;P

Genau so macht man das heutzutage.
Dann bekommt man in JavaScript schon ein schönes Objekt mit allem drin.

In PHP nimmt man das hier:
http://php.net/manual/de/function.json-encode.php

Und in JavaScript dann einfach so:
1
var obj = JSON.parse(text);

Du scheinst jQuery zu verwenden, dann gehts mit der Funktion "getJSON()" 
sehr einfach, die Daten vom Webserver zu laden:
http://api.jquery.com/jquery.getjson/

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren