Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][JavaScript] Wysyłanie danych POST bez przeładowania, nie można dodać znaku: " + " (plus).
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć, posiadam prosty skrypt, który wysyła wiadomość (forma czatu) bez przeładowania - skrypt znalazłem w internecie, problem polega na tym, że nie potrafię go tak przerobić (bo nie wiem gdzie i jak za bardzo) aby pozwalał wysyłać wiadomość z +++ (plusem).

Przy wpisaniu do okna formularzu wiadomości: TEST: ++ TEST, otrzymam: TEST: TEST, usunąłem wszystkie zabezpieczenia od wiadomości i to nie to, patrzyłem również czy czasem coś nie jest z zapytaniem do MySQL, ale dadałem do zmiennej POST kilka plusów (+) i wysłało normalnie, wiec pewnie problem leży w skrypcie JS, a oto on:

[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. $("#ajax-post").submit(function() {
  3. var wiadomosc = $("input[name=wiadomosc]").val();
  4. var user = $("input[name=user]").val();
  5. var user2 = $("input[name=user2]").val();
  6. data = "wiadomosc=" + wiadomosc + "&user=" + user + "&user2=" + user2;
  7. $.ajax({
  8. type: "POST",
  9. data: data,
  10. url: "response.php",
  11. success: function(response){
  12. }
  13. });
  14. $("input[name=wiadomosc]").val('');
  15. return false;
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext


Pozdrawiam i z góry bardzo dziękuje za pomoc smile.gif.



Edit.:
Ale nie możliwe dałem sobie alert z danymi wychodzącymi i normalnie się ++ pokazują to już sam nie wiem dlaczego to nie działa..
BlackDante
Filtrowanie danych musi być po stronie PHP, pokaż jak wygląda skrypt odbierania danych i zapisywania ich w bazie danych.
jaslanin
http://api.jquery.com/jQuery.ajax/


dataObject, String
Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below).


Zamiast bawić się niepotrzebnie w budowanie własnego query string'a (musi być on zakodowany do url tj. urlencoded -> w tym jest problem) jak to robisz teraz zrób tak (przekaż data jako tablica asocjacyjna, w JS tablica asocjacyjna jest obiektem):

  1. $(function(){
  2. $("#ajax-post").submit(function() {
  3. var wiadomosc = $("input[name=wiadomosc]").val();
  4. var user = $("input[name=user]").val();
  5. var user2 = $("input[name=user2]").val();
  6. data = {wiadomosc: wiadomosc, user: user, user2: user2}; // TU JEST ZMIANA
  7. $.ajax({
  8. type: "POST",
  9. data: data,
  10. url: "response.php",
  11. success: function(response){
  12. }
  13. });
  14. $("input[name=wiadomosc]").val('');
  15. return false;
  16. });
  17. });
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.