Ajax Laden von Skripten (mit jQuery) von CDN is't Arbeits
-
25-09-2019 - |
Frage
In meinem Javascript schweres Web App, habe ich einige Skripte, die mit Tags im HTML-Quellcode geladen sind, und andere, die ich Last nach Bedarf jQuery Ajax-Methode.
Ich bin in dem Prozess des meisten meiner App statischer Vermögenswerte an einen CDN verlagern (Ich bin mit AWS Cloudfront). Meine dynamischen Belastungen nicht mehr. Der jQuery Ajax-Aufruf:
$.ajax({
url: url,
dataType: 'script',
async: true,
success: function (content) {
....
löst die Erfolgsfunktion, aber der Inhalt ist leer.
Ich frage mich, ob dies ist, weil eine solche Anforderung des Browsers Sicherheitsmodell für Cross-Site-Scripting verletzt. Wenn das der Fall ist, gibt es Skripte von einem CDN dynamisch zu laden? Ahhh ... Ich bin derzeit nicht unter Verwendung eines CNAME Alias ??für die Host-Cloudfront. Würde tun, dieses Problem so lösen?
Lösung
Du hast Recht, es ist die Cross-Site-Scripting-Sicherheits dies zu verhindern.
Sie sind in der Lage die jQuery.getScript () Methode zu verwenden, um es zu laden von eine externe Domäne (oder intern).