2010-05-05 5 views
6

Salutations, comment puis-je télécharger un contenu de la page en utilisant ajax et jquery: Je suis en train de faire quelque chose comme ça (2 versions à l'intérieur d'un script):Téléchargez du contenu de la page en utilisant ajax jquery

$("p").click(function() { 

    $('#result').load('http://google.com'); 

      $.ajax({ 
       url='www.google.com', 
       success: function(data) { 
        $("result").html(data); 
        alert('Load was performed.'); 
        var url = 'www.wp.pl'; 
        $('div#result').load(url); 
        //var content = $.load(url); 
        //alert(content); 
        //$("#result").html("test"); 
       } 
      }); 
}); 

mais ne renvoie pas de contenu

+1

Supprimez cela et utilisez jQuery! Oh attendez ... –

Répondre

7

Vous pouvez utiliser YQL pour proxy votre appel:

$.ajax({ 
    url:"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D'http://www.google.com'&format=xml&callback=callback", 
    type: 'GET', 
    dataType: 'jsonp' 
}); 

    function callback(data){ 
    $('#result').html(data.results[0]); 
    } 
7

Due to restrictions Vous ne pouvez pas télécharger le contenu d'une page Web à l'aide d'AJAX qui n'est pas hébergé sur le même domaine que le domaine hébergeant ce script. Vous avez également une erreur de syntaxe dans votre appel de fonction .ajax. Il devrait ressembler à ceci:

$.ajax({ 
    url: 'http://yourdomain.com/page1.htm', 
    success: function(data) { 
     $("result").html(data); 
     alert('Load was performed.'); 
     var url = 'http://yourdomain.com/page2.htm'; 
     $('div#result').load(url); 
    } 
}); 
+0

est-il possible de faire cela? obtenir le contenu de l'autre page? –

+0

vous pouvez afficher le contenu d'une autre page dans un iFrame, mais vous ne pouvez pas y accéder/lire non plus. – jAndy

+0

Jetez un oeil à ma réponse - il fournit quelques méthodes pour récupérer des données externes au domaine actuel. – Seidr

2

Bien qu'il soit possible d'interroger directement un hôte qui est externe au domaine actuel de Javascript, vous pouvez utiliser un script de proxy pour récupérer les données souhaitées.

AJAX Cross domaine avec jQuery interrogation: http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html

Vous pouvez également utiliser le script flXHR, qui peut être inclus dans de nombreuses bibliothèques Javascript (y compris jQuery).

flXHR: http://flxhr.flensed.com/

1

Vous pouvez aussi simplement appeler une page PHP/ASP/ruby ​​qui à son tour fait l'appel à l'extérieur pour vous et présente les informations d'une manière que vous avez besoin.

1. PAGE --> PHP --> External web 
     (Ajax) 

2. PAGE <-- PHP <-- External web 
     (callback) 
1

Vous devez utiliser quelque chose appelé JSONP aller dans le domaine. Seider a psoted plus de détails sur la façon de le faire avec jQuery.

Questions connexes