AJAX und & im GET

Hallo

Ich habe bei meinem Dienst kuerzr.de einen AJAX Aufruf, der Links übergibt. In manchen Links sind “&”-Zeichen drin, welche von JavaScript aber dooferweise als neuen Parameter interpretiert. Dies soll nicht so sein.

Wie kann man das lösen? Die "&"s vorher in z. B. ein “©” ändern und in PHP wieder zurückändern - nur dass kein neuer Parameter anfängt? =/

Bitte schnell antworten, es ist dringend!

Andy

ich weißnicht ob es bei ajax geht aber bei php mach tman das mit einem escape zeichen sprich \

Wenn du “&” für die URLs als “%26” umwandelst, geht es dann evt.? ?

In Wikipedia wird erklärt wegen der Kodierung:

de.wikipedia.org/wiki/&#Kodierung
oder eben
de.wikipedia.org/wiki/%26#Kodierung (mit %26 in URL)

Hm… die URL durch encodeURIComponent() schicken sollte helfen.

du musst mit AJAX die Parameter extra senden :wink:


//request erzeugen
request.open('get', 'index.php', true);
request.send('test1=ja&test2=jop');
//usw...
request.onreadystatechange = interpretRequest;

//sry…hatte nen Fehler xD

… das würde als Request-Body gesendet werden. GET wird über die URL gesendet, von daher stimmt sein Code bereits.

du kannst es ganz kompliziert aber effektiv machen:
Der String wird mit js base_64 codiert und dann mit php wieder decodiert :slight_smile:

sebbo

wenn der Request-Body mit GET gesendet wird, müsste es funktionieren :wink: