Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Ajax][jQuery] XMLHttpRequest cannot load
Forum PHP.pl > Forum > XML, AJAX > AJAX
markuz
Witam,
Mam problem przy wysyłaniu zapytania Ajax :
Kod
                    $.ajax({
                        type: "POST",
                        url: "http://verify.solvemedia.com/papi/verify",
                        data: { privatekey: "xxx", challenge: ACPuzzle.get_challenge(), response: ACPuzzle.get_response(), remoteip: "xxx" }
                    }).done(function( msg ) {
                        alert(msg);
                    });


Chrome zwraca następujący błąd :

Cytat
XMLHttpRequest cannot load http://verify.solvemedia.com/papi/verify?p...mp;remoteip=xxx. Origin http://localhost is not allowed by Access-Control-Allow-Origin.


Czytałem o tym jednak nie wiem jak to "naprawić". Nie mam wpływu na to jakie dane zwraca strona solvemedia, znalazłem przykłady gdzie stosowany jest json ale w tym przypadku to chyba odpada? Czy gdy przeniosę to na właściwy serwer (narazie jest na localhost) to coś się zmieni?

Proszę o pomoc.
Pozdrawiam!
buliq
Słabo czytałeś:
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

Cytat
If online-personal-calendar.com allows the request, it sends an Access-Control-Allow-Origin header in its response. The value of the header indicates what origin sites are allowed
markuz
Próbowałem zmienić headery za pomocą PHP :
  1. header("Access-Control-Allow-Origin: *");
  2. header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
  3. header("Access-Control-Allow-Headers: *");

także .htaccess :
Kod
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"


Ale nic z tego nie działa. Błąd ciągle jest taki sam.
buliq
Nie zrozumiałeś tego dokumentu.

To ich serwer wysyła taki header, który pozwala na wywołanie skryptów tylko z ich domeny.
Cytat
XMLHttpRequest cannot load http://verify.solvemedia.com/papi/verify?p...mp;remoteip=xxx. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
JoShiMa
Czy to oznacza, że nie da się nic z tym zrobić?
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-2024 Invision Power Services, Inc.