Est-ce possible de:

  • Depuis ma page Web, obtenez toute la source HTML d'une autre page Web. Je dois le faire afin de transmettre cette autre source html de pages à ma fonction.

Les différentes tentatives suivantes ne fonctionnent pas:

var html = $.get("http://simplyrecipes.com/recipes/braised_turkey_legs/").html();
var html = $.get("http://simplyrecipes.com/recipes/braised_turkey_legs/");
var html = $("http://simplyrecipes.com/recipes/braised_turkey_legs/").html();
0
sazr 25 oct. 2011 à 03:11

3 réponses

Meilleure réponse

En utilisant Ajax, et get n'est qu'un raccourci pour ajax, il n'est pas vraiment possible d'obtenir le code HTML source à partir d'autres domaines, si c'est ce que vous essayez de faire? comme ajax a une même politique d'origine pour des raisons de sécurité.

Cependant, en passant par YQL, il est possible de faire est de lire ceci pour voir comment, ou vous pouvez proxy avec php ou autre chose, avec juste des requêtes get régulières mais ce n'est pas faisable.

Si les pages que vous essayez d'obtenir se trouvent sur votre domaine, .load (); serait probablement mieux.

1
adeneo 24 oct. 2011 à 23:17

Javascript a une même politique d'origine, c'est ce qui vous retient.

1
whg 24 oct. 2011 à 23:19

La fonction get de jQuery ne renvoie pas les données chargées - elle appelle plutôt une fonction de rappel et transmet les données en tant que paramètre.

Cela provient de la documentation:

$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});

P.S .: Notez que dans tous les cas, cela ne fonctionnera que sur le même domaine, car l'AJAX inter-domaine n'est normalement pas pris en charge pour des raisons de sécurité.

0
Tom 24 oct. 2011 à 23:18
7883020