2010-04-26 5 views
2

Pour simplifier ce scénario de test, j'ai créé un nouveau projet .NET MVC par défaut dans Visual Studio 2010 et ajouté le code suivant à l'en-tête HTML dans Site.Master:jQuery (document) .ready ne fonctionne pas sous IIS7

<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js"></script> 
<script type="text/javascript"> 
    jQuery(document).ready(function() { alert('jQuery document ready'); }); 
</script> 

Cela fonctionne comme prévu dans le serveur de développement .NET. Cependant, lorsqu'elle est déployée sur IIS7, la fonction jQuery (document) .ready n'est pas exécutée. Inutile de dire que mon application réelle est beaucoup plus compliquée. Ceci élimine tous les "suspects" sauf le déploiement d'IIS7.

Des idées/des suggestions?

+2

Qu'est-ce que vous obtenez si vous supprimez tout le javascript et le remplacez par 'alert ($);'? Une autre alternative serait de charger jQuery à partir d'une URL absolue, telle que la version hébergée de Google: http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js - votre problème peut être avec le répertoire mises en page. – Sampson

+0

Cela fonctionne-t-il dans Firefox? – SLaks

+0

Télécharger quelque chose appelé httpwatch et voir si jQuery est en cours de téléchargement. Rappelez-vous que c'est quelque chose qui arrive côté client, donc IIS ne devrait rien avoir à faire avec. –

Répondre

3

Il est probablement causé par la référence à src

src="../../Scripts/jquery-1.4.1.js" 

Remplacez-le par:

src="<%=Url.Content("~/Scripts/jquery-1.4.1.js")%>" 

Si votre site est déployé dans un répertoire virtuel ce qui est probablement le cas.

+0

BINGO! C'est tout. Lorsque j'ai regardé dans le fichier journal inetpub, il y avait une erreur sur "GET /Scripts/jquery-1.4.1.js" IIS ne résolvait pas le lien relatif correctement. Merci beaucoup. – gsiler

Questions connexes