Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax + formularz php leżący na zewnętrznym serwerze
Forum PHP.pl > Forum > XML, AJAX
marcinp1984
Witam serdecznie,

Mam problem, którego nie mogę rozwiązać już od dłuższego czasu może tutaj będzie ktoś w stanie pomóc. Mam gotowy formularz kontaktowy który działa bardzo dobrze jeśli wszystkie pliki znajdują się na moim serwerze... Problem jest w tym, że to ma działać i leżeć gdzie indziej. Docelowo mogą zostać dodane tylko pliki html, js ale php już nie. Czy istnieje jakaś możliwość aby zadziałał ten fragment kodu:

[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. type: "POST",
  3. url: "mail.php",
  4. data: { name: nameVal, mail: emailVal, message: messageVal },
  5. });
[JAVASCRIPT] pobierz, plaintext


jeśli plik mail.php będzie leżał na innym zewnętrznym serwerze?

Bardzo proszę o jakąś pomoc.
Pozdrawiam
markonix
Google: Cross domain ajax.
marcinp1984
Kombinowałem już z tym i nic niestety nie wychodzi. Ciągle nic się nie przesyła.

[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. type: "POST",
  3. url: "http://domena.pl/mail.php",
  4. crossDomain: true,
  5. data: { name: nameVal, mail: emailVal, message: messageVal },
  6. dataType: 'json',
  7. });
[JAVASCRIPT] pobierz, plaintext


Zamieniałem kolejności bo nie wiem czy ma to jakies znaczenie. Wartości wpsisywałem w "" i bez tgo. Niestety ciągle nie mogę sobei z tym poradzić
markonix
Nigdy nie miałem potrzeby korzystania z wyżej wspomnianej technologii ale już na samym wstępie widzę, że nie korzystasz z "jsonp" tylko z "json".
marcinp1984
też zmieniałem już na jsonp bo niedawno coś takiego znalazłem. Niesety co bym nie zmienił, co bym nie dodał ciągle to nie działa :/
markonix
Ogólnie skoro możesz edytować HTML to zamiast kombinować z AJAXem po prostu wyślij dane na stronę docelową bezpośrednio.
Zmień po prostu action w form na odpowiedni.
marcinp1984
To wyjście też nie jest najlepsze bo ominąłbym całą walidacje formularza smile.gif Zresztą sprawdziłem jak to się zachowuje w takim przypadku i tez nie działa.
W konsoli pojawia mi się coś takiego "Zablokowano wczytywanie mieszanych treści aktywnych" i podana jest ścieżka dostępu do pliku php. Co to oznacza i która strona to blokkuje? Z tej co wysyłam czy tam gdzie jest wysyłane?
markonix
Gdzie niby w takim rozwiązaniu pomijasz walidacje?
Tam gdzie formularz, tam walidacja..
marcinp1984
Hmm... tak jak to aktualnie mam zrobione formularz zostałby wysłany i pola nie zostałyby sprawdzone przynajmniej tak ja to widzę. Ale i tak tego nie jestem w stanie sprawdzić bo w ten sposób też się nie wysyła bo coś jest blokowane :/

Choć z tego co widzę blokada taka jest tylko jeśli używa się firefoxa - w innych przeglądarkach jest ok co najwyżej trzeba zaakceptować jakiś komunikat. W firefoxie można tą blokadę wyłączyć no ale przyszła osoba która miałaby wysłać ten formularz tego robić przecież nie będzie :/ Walidacje problemem by nie była bo zrezygnował bym z jquery i użył po prostu html5.
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.