gelöst ist es nicht - nur umgangen. verstehen tu ichs immer noch nicht ;-(
mein test JS:
$.each( response, function ( label, value ) {
html += "<li>" + label + " wert: " + value + "</li>";
});
ich hab jetzt mal das JSON, zum Experimentieren, in eine Textdatei gespeichert:
nach dem ich die [] und feldnamen im json entfernt habe
also statt:
[{"value":"Alex Clare - Too close","label":"Alex Clare - Too close"},{"value":"Too Close - Alex Clare","label":"Too Close - Alex Clare"}]
0 wert: [object Object]
1 wert: [object Object]
- ( kommt 2x - label gedreht) weil ich auch nach songnamen suchen lassen möchte)
folgende Zeile:
{"1":"Alex Clare - Too close","2":"Too Close - Alex Clare"}
jetzt zeigt er:
1 wert: Alex Clare1 - Too close
2 wert: Alex Clare2 - Too close
was passt
schöner und schneller wäre es natürlich mit json_encode() aber der macht [] klammern
//echo json_encode($json, JSON_FORCE_OBJECT); fuzt nicht
//$encodedArray = array_map(utf8_encode, $json); fuzt auch nicht
echo json_encode($json); fuzt nicht - macht klammern
für alle die ne schnelle autocomplete lösung für lokale URL-source suchen - ohne nachzudenken ,-): (JQuerymobile)
1. beispiel kopieren unter demo Jquerymobile
2. jsonp -> dataType: "json",
3. //crossDomain: true, raus
4. Json mit q als GET-var im obigen format mit echo generieren
5. natürlich url: "deine.php", anpassen