problem z AJAX między http: i https: |
problem z AJAX między http: i https: |
28.03.2014, 15:22:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.03.2014 Ostrzeżenie: (0%) |
Witam.
Mam problem z AJAXem gdy w IE ze strony HTTP odwołuje się do strony HTTPS. Więcej szczegółów: jest formularz z polem. Po wyjściu z pola wywoływana jest funkcja test(this), która ma za zadanie sprawdzić czy wprowadzona wartość jest prawidłowa. Sprawdzenie polega na tym, że trzeba wywołać stronę: "https://dad-atlas.datasolutions.pl/karta.php?karta=" + wpisana_do_pola_wartość. Wywołana strona zwraca TAK lub NIE (po sprawdzeniu otrzymanego kodu). Skrypt działa w Firefox'e i w nowszym IE, ale w IE wersja <= 9 wywala się błędem przy operacji req.open("GET",.... komunikat błędu: "odmowa dostępu" (access denied). Wygląda na to, że jest problem gdy polecenie ...open("GET", "https://..." odwołuje się do strony HTTPS. Odwołanie jest ze strony HTTP. Czy ktoś mi powie co robię źle? Jak to obejść? P.S. Z pewnych względów nie mogę zastosować JQuery. Jeżeli już jakiś freamework to tylko Mootools.
Ten post edytował kristofo 28.03.2014, 15:26:35 |
|
|
28.03.2014, 15:46:33
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Masz żądanie międzydomenowe, akurat tutaj różnica jest w protokole.
Przyznam, że nie wiem czy nowsze przeglądarki w tym przypadku zachowują się poprawnie czy właśnie IE<=9. Spróbuj tego: http://mootools.net/docs/more/Request/Request.JSONP (na pewno działa, przy czym wykonywałem zapytanie pomiędzy różnymi domenami, ale obydwie bez SSL) http://blog.creapptives.com/post/133630525...n-ajax-requests -------------------- |
|
|
28.03.2014, 19:52:55
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.03.2014 Ostrzeżenie: (0%) |
http://mootools.net/docs/more/Request/Request.JSONP (na pewno działa, przy czym wykonywałem zapytanie pomiędzy różnymi domenami, ale obydwie bez SSL) http://blog.creapptives.com/post/133630525...n-ajax-requests Jednak to nie rozwiązuje mojego problemu. Wygląda na to, że problem leży w tym, że z niezabezpieczonej witryny HTTP odwołuję się do zabezpieczonej HTTPS. Gdzieś czytałem o wykorzystaniu "iframe", żeby to ominąć, ale sam nie umiem tego zastosować. Czyli problem wciąż pozostaje otwarty. |
|
|
28.03.2014, 20:32:19
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Ajaxem wywołaj skrypt PHP, a w nim CURL'em pobierz wartość z podanej strony, zwróć, odbierz w Ajaxie.
-------------------- |
|
|
29.03.2014, 00:20:37
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.03.2014 Ostrzeżenie: (0%) |
|
|
|
29.03.2014, 08:03:04
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
http://stackoverflow.com/questions/4372710/php-curl-https
http://bato3.bloog.pl/id,3665077,title,cUR...ttps,index.html curl_exec() zwraca pobraną treść, wystarczy ją wydrukować (echo) i odebrać w Ajaxie. -------------------- |
|
|
29.03.2014, 09:09:30
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.03.2014 Ostrzeżenie: (0%) |
http://stackoverflow.com/questions/4372710/php-curl-https http://bato3.bloog.pl/id,3665077,title,cUR...ttps,index.html curl_exec() zwraca pobraną treść, wystarczy ją wydrukować (echo) i odebrać w Ajaxie. Dawno nic nie pisałem w PHP i ogólnie słabo go znam. Widzę, że trzeba będzie do niego wrócić ;-) Teraz muszę rozpracować jak "wstrzyknąć" kawałek kodu PHP w stronę i jak przekazać parametry z JS do PHP i s powrotem. Nie rezygnuję jednak z poszukiwania rozwiązania w JS :-) |
|
|
29.03.2014, 09:36:53
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nie musisz nic wstrzykiwać.
Jeden z przykładów, które podałem zmodyfikuj na swoje potrzeby. W req.open() wywołaj URL tego skryptu podając mu jako parametr kod karty. W skrypcie PHP odbierz ten parametr poprzez $_GET. -------------------- |
|
|
29.03.2014, 10:23:49
Post
#9
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 28.03.2014 Ostrzeżenie: (0%) |
Nie musisz nic wstrzykiwać. Jeden z przykładów, które podałem zmodyfikuj na swoje potrzeby. W req.open() wywołaj URL tego skryptu podając mu jako parametr kod karty. W skrypcie PHP odbierz ten parametr poprzez $_GET. Niestety nie mam możliwości tworzenia plików po stronie serwera. Mogę tylko dodawać skrypty JS i w pewnym zakresie modyfikować już istniejące strony. :-( Więc utworzenie oddzielnego pliku z kodem PHP odpada. |
|
|
Wersja Lo-Fi | Aktualny czas: 20.09.2024 - 01:25 |