Same Origin Policy-AJAX & using Public API
Wiem czy na własnej stronie, czy mój użytkownik jest na :
http://www.example.com/form.php
I składam z tej strony prośbę o ajax do :
http://example.com/responder.php
Nie powiedzie się z powodu tej samej polityki pochodzenia (subdomena jest inna).
Próbuję zrozumieć, jak to jest, że żądania AJAX mogą pobierać dane z API takich jak flickr, gdy żądanie i serwer są oczywiście różne.
Edytuj :
np: dlaczego ten kod działa?
$.getJSON('http://api.flickr.com/services/rest/?&;method=flickr...'
(Referred this Community Wiki ) Czy używa Cross Origin Resource Sharing ?
Dzięki!1 answers
Istnieje kilka znanych metod pracy wokół tej samej polityki pochodzenia. Jedną z popularnych technik jest użycie "Script Tag Injection", takiego jak w JSONP. Ponieważ znacznik <script>
nie jest ograniczony tą samą Polityką pochodzenia, skrypt w domenie innej firmy może dostarczyć kod wykonywalny, który współdziała z dostarczoną funkcją zwrotną. Możesz zajrzeć do sekcji "Porady i wskazówki" w poniższym artykule, aby przeczytać więcej na ten temat:
- Howto Dynamic Insert Javascript i CSS (hunlock.com)
Możesz być również zainteresowany przeczytaniem następującego postu o przepełnieniu stosu, aby dowiedzieć się więcej o innych technikach pracy wokół tej samej polityki pochodzenia:
Aktualizacja: kolejne pytanie:
Cytowanie z dokumentacji jQuery na $.getJSON()
:
Jeśli adres URL zawiera ciąg znaków " callback=?"w URL, żądanie jest traktowane jako JSONP zamiast.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:25:19