2013-05-29 4 views
2

J'essaye de charger un fichier html local dans div, mais cela semble fonctionner (l'alerte est affichée, mais aucun contenu n'est affiché sur la page).Chargement du fichier html local dans div

HTML:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script>     
     <script type="text/javascript" src="test.js"></script> 
    </head> 

    <body> 
     <div id="blog"></div> 
    </body> 
</html> 

Javascript (test.js):

$(document).ready(function(){ 
     $("#blog").load("tester.html", function() { 
      alert('Load was performed.'); 
     }); 
}); 

fichier HTML chargé (tester.html):

<p> 
    The word <strong>hello</strong> should be bold. 
</p> 
+0

Êtes-vous #blog div visible? Il a la largeur et la hauteur? – DontVoteMeDown

Répondre

7

SOP(même origine Politique).
Cela ne fonctionnera pas dans Chrome.
Essayez dans Firefox ou sur Localhost ou sur un serveur en ligne .

AJAX ne peut pas travailler à partir file:// mais http://

+2

Merci cela a fonctionné en FF. J'ai été assez frustré avec cela pendant un moment. – Mushy

+0

Je ne pense pas que ce soit un bug. C'est juste une sorte de mise en œuvre stupide. – crush

+0

@Andy Je vous crois, j'ai eu des maux de tête à mon époque aussi. Vous êtes les bienvenus –

3

Je ne sais pas pourquoi tu fais ça, mais je le recommande pas sérieusement. Les navigateurs interdisent ce comportement pour des raisons de sécurité, vous ne pouvez pas charger les choses à partir du système de fichiers.

Si vous testez, utilisez quelque chose comme xampp est vraiment facile à configurer. Cela donnera également une vision plus concrète du fonctionnement des sites Web. Si vous essayez réellement d'utiliser ceci comme une vraie page Web, je vous recommande de chercher une autre façon de le faire.

+0

1. Pas vrai. 2. Qu'est-ce qui ne va pas dans la création de sites web pilotés par AJAX? –

+3

@ RokoC.Buljan - 1. Oui c'est. 2. Beaucoup, mais ce n'est pas ce que cette réponse dit n'est pas recommandé (qui essaie de faire Ajax sur 'file: //' au lieu de 'http: //'). – Quentin

+0

Ajax sites web rock, j'utilise angularjs moi-même pour créer des webapps. Je ne recommande pas de charger des fichiers locaux, ce n'est pas une fonction de navigateur ni un vrai cas d'utilisation. – donnanicolas

-1

En fait, si vous voulez juste faire un test pour une image, je suggère que vous pouvez utiliser un chemin relatif pour faire référence à l'image. Par exemple:

cp ~/1.png ~/Workspace/html/app/1.png 
vim ~/Workspace/html/app/test.html 

<!DOCTYPE html> 
<html> 
    <head lang="en"> 
     <meta charset="UTF-8"> 
     <title></title> 
    </head> 
    <body style="border-radius: 5px; border: 0px;"> 
     <img src="test.jpg"> 
    </body> 
</html> 
Questions connexes