Podgląd w Ajax - problem ze znakiem "&".

0

Witam, mam skrypt, który służy do podglądu na żywo np. przy pisaniu notki na bloga. Wszystko działa, ale z jednym małym problemem, otóż nie wyświetla się znak &. Wszystkie znaki są wyświelane, ale gdy napiszę w tekście znak &, podgląd zatrzymuje się i nie wyświelta tego znaku oraz żadnych innych pisanych po nim. Co jest nie tak? Bardzo proszę o pomoc. Poniżej kod ajax:

function podglad() {

        var request = NewObject();
        if (request) {
          request.onreadystatechange = function() {
            if (request.readyState==4) { 
                if (request.status==200) {
                  document.getElementById('wynik').innerHTML=request.responseText;
                } 
             } 
          }          
        };
  
        content = document.getElementById('pole').value;
  
        var url = 'podglad.php';
        var string = 'notka='+content;
        request.open('post', url, true);        

        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        request.setRequestHeader("Content-length", string.length);
        request.setRequestHeader("Connection", "close");
        
        request.send(string);
      }
0

Chyba znaki specjalne, w rodzaju &, ?, = powinieneś zamieniać na odpowiednie kombinacje %xx w heksach zgodnie z RFC 1738.

Jak w treści jest "&" to treść żądania wygląda mniej więcej tak:
notka=cośtamcośtam&
i serwer myśli, że tutaj zacznie się za chwile nowa zmienna. Spróbuj napisać coś w stylu: cokolwiek&notka=cośspecjalnego i zobacz czy w podglądzie znajdzie się "cośspecjalnego", bo mam wrażenie, że to jest powód.

0

@Ktos, dzięki, nie pomyślałem nawet o heksach :D Po problemie :)

0

JS: encodeURIComponent() ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1