Access-Control-Allow-Origin - localhost
Mam problemy z otrzymaniem jsona przez ajax, błąd jest poniżej. Zgodnie z informacjami, które do tej pory znalazłem w odniesieniu do błędu, wydaje się, że jest to jakiś problem między domenami, ale nie mam pojęcia, co to oznacza i jak go rozwiązać.
Może występować problem z nagłówkiem odpowiedzi (sam stworzyłem interfejs API i nie mam wcześniejszych doświadczeń), jednak otrzymuję 200 OK, jeśli uzyskujemy dostęp do adresu URL bezpośrednio w przeglądarce.
Jeśli dostęp do adresu URL bezpośrednio w przeglądarce jest prawidłowy, wyświetlany jest json, więc nie powinno to stanowić problemu.
Jak można to rozwiązać?
Uwaga: adres URL trafia do serwera Apache, a nie do pliku, który miał miejsce w przypadku 95% pytań tutaj na stosie, o których przeczytałem o problemie.
Błąd w inspektorze:XMLHttpRequest cannot load http://localhost/api/v1/products?_=1355583847077.
Origin null is not allowed by Access-Control-Allow-Origin.
Error: error
Kod: $.ajaxSetup ({
url: "http://localhost/api/v1/products", // <--- returns valid json if accessed in the browser
type: "GET",
dataType: "json",
cache: false,
contentType: "application/json"
})
$.ajax({
success: function(data){
console.log("You made it!");
},
error: function(xhr) {
console.log("Error: " + xhr.statusText);
}
}).done(function(data){
console.log(data);
})
Params_ 1355583610778
NagłówkiNagłówki odpowiedzi:
Connection Keep-Alive
Content-Length 3887
Content-Type application/json
Date Sat, 15 Dec 2012 14:50:53 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By PHP/5.3.1
Nagłówki żądania:
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3
Connection keep-alive
Host localhost
Origin null
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Firefox/17.0
OdpowiedźNic tu nie ma...