Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z AJAX między http: i https:
kristofo
post
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.


  1. <input type="text" id="kod" onblur="test_kod(this)" />
  2. </form>



[JAVASCRIPT] pobierz, plaintext
  1. function test_kod(pole) {
  2. var req = createXMLHTTPObject();
  3. // w IE zawsze się wywala na następnym poleceniu. W debugerze komunikat "brak dostępu"
  4. req.open("GET","https://dad-atlas.datasolutions.pl/karta.php?karta="+pole.value,true);
  5. req.setRequestHeader('User-Agent','XMLHTTP/1.0');
  6. req.onreadystatechange = function () {
  7. if (req.readyState != 4) return;
  8. if (req.status != 200 && req.status != 304) {
  9. // alert('HTTP error ' + req.status);
  10. return;
  11. }
  12. if (req.responseText == "TAK") {
  13. //alert('sukces');
  14. } else {
  15. //alert('nieprawidlowy kod');
  16. };
  17. }
  18. if (req.readyState == 4) return;
  19. req.send();
  20. }
  21.  
  22. var XMLHttpFactories = [
  23. function () {return new XMLHttpRequest()},
  24. function () {return new ActiveXObject("Msxml2.XMLHTTP")},
  25. function () {return new ActiveXObject("Msxml3.XMLHTTP")},
  26. function () {return new ActiveXObject("Microsoft.XMLHTTP")}
  27. ];
  28.  
  29. function createXMLHTTPObject() {
  30. var xmlhttp = false;
  31. for (var i=0;i<XMLHttpFactories.length;i++) {
  32. try {
  33. xmlhttp = XMLHttpFactories[i]();
  34. }
  35. catch (e) {
  36. continue;
  37. }
  38. break;
  39. }
  40. return xmlhttp;
  41. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował kristofo 28.03.2014, 15:26:35
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.09.2025 - 14:47