Cross Domain GET Vidarebefordran - CSS-tricks

Anonim

När du gör en AJAX-förfrågan på en webbplats måste webbadressen du begär från finnas på samma domän som begäran kom från. Detta är en säkerhetsbegränsning som webbläsaren inför. Det finns ett sätt att smyga runt detta genom att använda lite av en "man i mitten" -strategin.

PHP, som är ett serverspråk, har förmågan att hämta innehåll från vilken webbadress som helst. Så en PHP-fil kan bli mannen i mitten. Innehållet i PHP-filen kan ställas in så att det accepterar en URL som en parameter och sedan returnerar innehållet i den URL: n.

Med det på plats kan vi göra en AJAX-begäran direkt till den webbadressen och skicka den den webbadress som vi faktiskt vill ha data från som en parameter. Se hur vi skickar "http://google.com" som data nedan.

 $(function() ( $.ajax(( type: "GET", dataType: 'html', data: 'url=http://google.com', url: 'get.php', success: function(data)( // Yah! Do something cool with data ), error: function()( // Boo! Handle the error. ) )); )); 

Detta är ett extremt enkelt exempel. Om du är intresserad av en mer robust version, kolla in Simple PHP Proxy.