es herausgefunden:
I URL.js die Abfrageparameter mit URI(location.href).query(true)
ich ein Objekt mit ein paar Eigenschaften, darunter "View-Modus gewöhnungs "und" Filter [1] = 1 & Filter [zwei] = 2 "wo" Filter [1] = 1 & Filter [zwei] = 2 "ist ein Objekt (basierend auf der Art, wie URL.js die Abfrage analysiert).
Dann iteriere ich durch das Objekt und überprüfe, ob die Eigenschaft ein Objekt ist. Wenn es ist, verwende ich Ben Alman's BBQ jQuery Plugin die Eigenschaftsnamen zu analysieren, die dann auch:
filters%5Bone%5D%3D1%26filters%5Btwo%5D%3D2
in:
{ "filters" : { "one" : "1", "two" : "2" } }
Das URI.js Parsen Verfahren führt auch in einigen Eigenschaften, die haben kein Wert wie "* filter [one] = 1 & filter [zwei] = 2 1 *" und "* filter [one] = 1 & filter [ zwei] = 2 [] * ". Ich ignoriere diese.
Dann kann ich die ursprünglichen Eigenschaften kombinieren, die nicht Objekte wie „view-mode = Raster“ sind mit den analysierten Eigenschaften, die Objekte, wie zum Beispiel "Filter% 5Bone% 5D% 3D1 sind % 26filters% 5Btwo% 5D% 3D2 "und ich am Ende mit:
{ "view-mode" : "grid", "filters" : { "one" : "1", "two" : "2" } }
End Ergebnis ist, dass sowohl Javascript und PHP die Abfrageparameter lesen und verstehen.
Mögliche Duplikate von [Konvertieren URL-Parameter in ein Javascript-Objekt] (http://StackOverflow.com/Questions/8648892/Convert-URL-Parameters-To-A-Javascript-Object) – Ohgodwhy
Ich habe diese Lösung versucht, aber das Ergebnis ist '{filtert [eins]:" 1 ", filtert [zwei]:" 2 "}' – Ward
Woher kommen diese Daten? Generierst du es selbst?Kannst du JSON das Objekt kodieren und weitergeben, anstatt es jetzt zu übergeben? –