Żądanie pobierania JSON przy użyciu JQuery (między domenami)
Próbuję zrobić prosty JSON uzyskać prośbę do API w domenie, którego nie kontroluję.
Mój kod jest prosty:
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://pubapi.cryptsy.com/api.php?method=marketdatav2',
success: function (data) {
console.log(data);
}
});
});
Ale ponieważ jest to żądanie międzydomenowe, w konsoli Chrome pojawia się ten błąd:
XMLHttpRequest cannot load [url=http://pubapi.cryptsy.com/api.php?method=marketdatav2.]http://pubapi.cryptsy.com/api. ... tav2.[/url] No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.A kiedy próbuję dodać parametr
dataType: 'jsonp', konsola wraca z tym błędem:
Uncaught SyntaxError: Nieoczekiwany token:
Ale kiedy patrzę na kartę Sieć w Chrome, widzę, że pod nagłówkami kod stanu to 200 OK i widzę pełną odpowiedź na karcie Odpowiedź, ale konsola nadal wyświetla błąd „Nieoczekiwany token:” i JQuery JSON żądanie nadal nie jest wykonywane.
Oto link banddle:
http://jsfiddle.net/6Qcq2/
http://jsfiddle.net/6Qcq2/
możesz zobaczyć te same wyniki
Próbowałem uruchomić adres URL
http://www.hurl.it
http://www.hurl.it
i pokazuje mi status OK i odpowiedź, więc chyba robię coś nie tak.
Spędziłem cały dzień, próbując dowiedzieć się, jak rozwiązać ten problem.
Doceniam twoją pomoc.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz użyć serwera proxy, który wysyła żądanie i zamienia JSON na JSONP:
Próbny:
http://jsfiddle.net/6Qcq2/1
http://jsfiddle.net/6Qcq2/1/
/
Anonimowy użytkownik
Potwierdzenie od:
politycy z tego samego źródła
http://en.wikipedia.org/wiki/Same-origin_policy
nie możesz wykonać połączenia AJAX do zasobu znajdującego się w domenie zewnętrznej. Możesz obejść ten problem, konfigurując prosty skrypt PHP, który będzie żądał danych za Ciebie. Następnie przekierujesz wywołanie ajax do swojego skryptu (który będzie hostowany w Twojej domenie). Typ zawartości dla tego zasobu to application/json, więc wskazanie jQuery na jsonp nie pomoże.
Anonimowy użytkownik
Potwierdzenie od:
JSONP
http://api.jquery.com/jquery.getjson/#jsonp
praca.
Anonimowy użytkownik
Potwierdzenie od:
Co to jest JSONP?
https://coderoad.ru/2067472/