JQuery .get () übergibt nur die ersten beiden Datenparameter in url

8

Ich habe einen $ .get () -Aufruf zu einer PHP-Seite, die 4 GET-Parameter benötigt. Aus irgendeinem Grund, trotz der $ .get () Aufruf alle 4, übergibt es nur die ersten beiden. Wenn ich mir die dev-Konsole in chrome anschaue, wird die URL angezeigt, die aufgerufen wird, und sie übergibt nur action und dbname. Heres der Code:

%Vor%

und gibt die URL an, die ich in der Entwicklerkonsole sehe:

http://localhost/pci/util/util.php?action=start&dbname=1hkxorr9ve1kuap2.db

** BEARBEITEN ** Ich wurde informiert, dass ich die URL kodieren muss, die ich versuche, die Überschrift zu übergeben. Wie würde ich gehen, um es in Javascript zu kodieren und es in PHP zu dekodieren?

    
The.Anti.9 02.05.2010, 09:54
quelle

2 Antworten

3

Sind Sie sicher, dass die Variablen starturl und depth definiert sind? Ein einfaches alert() vor dem $ .get () reicht aus, um dies zu überprüfen.

In Bezug auf Ihre Bearbeitung können Sie Zeichenfolgen in JavaScript mit der Funktion encodeURIComponent codieren. Und dekodiere es wieder in PHP mit urldecode . Sie nehmen beide ein String-Argument.

    
GlenCrawford 02.05.2010, 10:35
quelle
0

Wahrscheinlich müssen Sie überprüfen, ob Ihre Eingabezeichenfolgen korrekt zitiert werden. Intern erstellt jQuery den Parameterstring aus der von Ihnen angegebenen Parameterzuordnung mit der Methode param() . Diese Methode erstellt ein Objekt der Schlüssel und Werte, das wahrscheinlich nicht analysiert werden kann, wenn Sie Ihre Schlüssel und Werte falsch zitiert haben.

@ Felix Kling: jQuery codiert Schlüssel und Werte der Parameter-Zeichenfolge automatisch mit encodeURIComponent.

    
FK82 02.05.2010 10:31
quelle

Tags und Links