Autor Zpráva
Taps
Profil
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
Radek9:
Děkuji

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0