Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
#1 · Zasláno: 26. 11. 2021, 06:03:02
Zdravim, pomoci ajaxu a jsonp bych chtel nacist obsah stranky z jineho serveru, ale skript mi zobrazuje syntax error. Mohl by mi prosim nekdo poradit, jak problem vyresit. Dekuji
Kód: $(document).ready(function() { $('a').click(function(){ var adresa = $(this).attr('url'); $.ajax({ url: adresa+'?callback=?', dataType: "jsonp", jsonpCallback: 'myJSON', type: 'GET', contentType: "application/json", async: false, success: function( response ) { console.log(response); $('#exampleModal').modal('show'); } }); }); }); |
||
Radek9 Profil |
Taps:
JSONP dělá něco trochu jiného, než si myslíš. Neslouží to k načítání obyčejné webové stránky, ale k načítání JSONu z webů, které nemají povoleno Cross-Origin Resource Sharing (CORS). Obchází se to tím, že se do stránky načte script, který volá tebou definovaný callback a předá mu data. Příklad (bez použití jQuery, aby bylo jasné, co to dělá): https://example.com/jsonp.js (tohle bývá typicky dynamicky generované podle query kvůli názvu callback funkce) callback('Hello world!') https://example2.com/index.js function callback(data) { console.log(data) // vypíše 'Hello world!' } const script = document.createElement('script') script.async = true script.src = 'https://example.com/jsonp.js?callback=callback' document.head.appendChild(script) Jinými slovy, z example.com se dynamicky načte script, který volá callback definovaný na example2.com. Pokud chceš načítat HTML obsah stránek, které nemají povolené CORS, budeš muset použít nějaký proxy server (a klasický AJAX). |
||
Taps Profil |
#3 · Zasláno: 26. 11. 2021, 09:58:03
Radek9:
Děkuji |
||
Časová prodleva: 3 roky
|
0