Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][JavaScript] Wysyłanie danych POST bez przeładowania, nie można dodać znaku: " + " (plus).
Giluś
post 15.09.2012, 14:10:50
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


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..

Ten post edytował Giluś 15.09.2012, 14:21:42
Go to the top of the page
+Quote Post
BlackDante
post 15.09.2012, 14:38:09
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 6
Dołączył: 20.06.2009

Ostrzeżenie: (0%)
-----


Filtrowanie danych musi być po stronie PHP, pokaż jak wygląda skrypt odbierania danych i zapisywania ich w bazie danych.
Go to the top of the page
+Quote Post
jaslanin
post 15.09.2012, 14:45:18
Post #3





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


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. });


Ten post edytował jaslanin 15.09.2012, 14:46:36


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 3.07.2025 - 13:55