Ajax + formularz php leżący na zewnętrznym serwerze

0

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:

          $.ajax({
              type: "POST",
              url: "mail.php",
              data: { name: nameVal, mail: emailVal, message: messageVal },            
          });

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

Bardzo proszę o jakąś pomoc.
Pozdrawiam

0

Takie zapytania nie są możliwe, bo naruszałyby bezpieczeństwo (np. wysyłałbym z mojej strony w Twoim imieniu zapytania ajaxowe do Facebooka). Jeżeli jesteś właścicielem drugiego serwera, to możesz dopuścić zapytania ajax z zewnętrznych domen (wszystkich, albo określonych), poczytaj: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

0

To u mnie właśnie ma to działać odwrotnie :) Zapytanie ma iść z zakładki dodanej do facebooka do strony, która leży na moim serwerze :)

0

To był tylko przykład, poczytaj

0

Jedyne co z tego zrozumiałem to to, że w nagłówku pliku mail.php powinienem dodać header ("Access-Control-Allow-Origin: https://www.facebook.com/");
Ale niestety to nic nie pomaga...

Jak sprawdzam sobie w konsoli to wyskakuje mi takie coś: "Zablokowano wczytywanie mieszanych treści aktywnych" + ściezka do pliku mail.php. Przez co to jest blokowane? Przez serwer z którego wysylam, czy przez serwer do którego wysyłam?

0

usuń slash z końca, albo najlepiej daj od razu gwiazdkę w tym miejscu

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: *

// edit:
chodzi o mieszanie treści szyfrowanych z nieszyfrowanymi - nie możesz z szyfrowanej strony https przesyłać danych nieszyfrowanych
musiałbyś zainstalować certyfikat ssl dla swojej strony

0

Domyślam się, że tego już się nie obejdzie w żaden sposób? Bo certyfikat ssl niestety odpada :/

0

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 :/

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