2010-07-07 12 views
9

Czy istnieje sposób bez używania serwera proxy do wykonywania żądania GET lub POST w ramach domeny?Cross Domain Uzyskaj żądanie w JS/JQuery

+8

jsonp - http: // ajaxian.com/archives/jsonp-json-with-padding –

+0

Powinienem był wyjaśnić, że moja odpowiedź na żądanie GET nie jest sformatowana w JSON, więc nie sądzę, że $ .getJSON działa – Crothers

Odpowiedz

14

Jeśli tylko obecnych przeglądarek dziennie i mieć kontrolę nad domeną zewnętrznego, można użyć Cross-Origin Resource Sharing [CORS]

Większość ludzi nie ma takiego luksusu więc albo trzeba używać JSON z wyściółką [ JSONP] lub musisz użyć serwerowego proxy.

+2

Doskonała odpowiedź. Więcej informacji jest dostępnych na [to pytanie typu stack-o] (http://stackoverflow.com/questions/5908195/jquery-and-cross-domain-post-requests); a także [sprawdź ten wpis na blogu] (http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/); ponadto [artykuł o mozilla-developer-network] (https://developer.mozilla.org/En/HTTP_access_control) to doskonałe czytanie z linkami do większej ilości zasobów. [edit]: Zauważ, że aby włączyć CORS, skrypt po stronie serwera musi odpowiadać specjalnymi nagłówkami. – David

+0

Zajrzyj tutaj: http://www.html5rocks.com/en/tutorials/cors/ –

1

O ile mi wiadomo, nie ma sposobu, aby utworzyć żądanie międzydomenowe w JS, ale można po prostu wysłać zapytanie do serwera i zgłosić żądanie.

Edytuj: jak powiedział Russ Cam powyżej, spójrz na JSONP.

-2

AJAX Cross Domain to niedroga biblioteka, która umożliwia wykonywanie żądań AJAX w wielu domenach. http://www.ajax-cross-domain.com/

+0

Byłoby wspaniale, gdyby ci, którzy głosowali w dół, zostawili komentarze aby społeczeństwo mogło się dowiedzieć, dlaczego jest to zła odpowiedź. –

+1

Tak, daj mi znać, ponieważ korzystałem z tej biblioteki w kilku projektach i nie napotkałem żadnych problemów. – Ivan

+5

Używa usługi innej firmy, która zazwyczaj nie jest idealna. –

0

Można użyć lampy błyskowej. Flash umożliwia wysłanie żądania międzydomenowego do innego serwera, pod warunkiem, że obsługuje plik strategii Flash dla wielu domen (plik XML). Będziesz potrzebować dostępu administracyjnego do drugiego serwera, aby to ustawić.

Jeśli uważasz, że opcja ta może być to, czego szukasz, lub chcesz zrobić SSL/TLS między domenami, sprawdź projekt opensource Forge

http://github.com/digitalbazaar/forge/blob/master/README

Powiązane problemy