2010-11-04 5 views
0

J'ai expérimenté avec Ajast et c'est très utile pour obtenir des sources URL distantes etc. Dans l'exemple ci-dessous, il contourne same-domain-policy et obtient "Hello World!", Mais je ne peux pas recréer ceci quand je le change en google.com.Get Url Source, par javascript ajast

<html> 
    <head> 
    <script type="text/javascript" src="http://ajast.org/ajast/ajast.js"></script> 
    <script id="TestScript" Language="javascript"> 
     function test() 
     { 
     var xmlhttp = new AJAST.JsHttpRequest(); 
     xmlhttp.onreadystatechange = function() 
     { 
      if (xmlhttp.readyState==4) // 4 = "loaded" 
      { 
      if (xmlhttp.status == 200) 
       document.write(xmlhttp.responseText); 
      else 
       alert('ERROR: ' + xmlhttp.status + ' -> ' + xmlhttp.statusText); 
      } 
     } 
     xmlhttp.open("GET", 'http://riffelspot.com/ajast/ajast_full.php', false); 
     xmlhttp.send(); 
     } 
    </script> 
    </head> 
    <body onload="test();">Please wait...</body> 
</html> 
</code> 

Mon problème se produit lorsque je change l'url get-google.com, quelqu'un peut me aider? Je veux que JavaScript récupère la source d'une page.

+0

L'attribut 'language' des éléments' script' est déconseillé; utilisez 'type =" text/javascript "' à la place. –

Répondre

2

Lire le documentation. AJAST ne peut être utilisé que pour envoyer une requête à un script côté serveur compatible.
Fondamentalement, c'est une forme non standard de JSONP.

+2

En effet. Ce n'est pas une clé magique qui vous permet en quelque sorte d'éviter les restrictions de sécurité délibérées des demandes d'origine croisée. – bobince

0

Je pensais que le chargement dynamicly le script dans le DOM contournerait cette fonction de sécurité, comme la citation suggère

« Le principal avantage de AJAST est sa capacité à faire des demandes à des hôtes étrangers (inter-domaines) qui une norme La requête AJAX ne peut pas faire en utilisant une technique connue sous le nom de «script hack».

Où puis-je trouver la documentation car je ne veux pas utiliser un proxy JSONP, je voudrais demander la page Web sans signature.

+0

Vous devriez ajouter ceci comme commentaire à la réponse de SLaks, il ne sera pas averti de ceci. Mais pour répondre à votre question: vous devrez utiliser un script côté serveur pour le faire. "AJAST exploite une technique qui insère dynamiquement des balises