1 votes

Javascript fonctionne partout ailleurs, sauf sur le nouveau serveur

Serveur A : Windows Server 2008 R2, IIS 7, admin - moi

Serveur B : Windows Server 2008 R2, IIS 7, admin - groupe admin serveur de l'entreprise

J'ai un fichier Javascript qui fonctionne bien sur ma machine locale. Le fichier JS fonctionne également sur le Serveur B. Lorsqu'il est chargé sur le Serveur A, la page renvoie l'erreur "Erreur non spécifiée" avec une ligne à suivre qui ne signifie pas grand-chose dans le HTML ou le JS. Lorsqu'il est remplacé par un fichier JQuery, qui fonctionne également en local, et fonctionne également sur le Serveur B, j'obtiens une erreur différente "Objet attendu" encore une fois avec une ligne à suivre sans signification.

Il y a des morceaux de Javascript qui fonctionnent sur le même site sur le Serveur A, donc le JS n'est pas complètement désactivé.

Je suis conscient que le JS et JQuery sont considérés comme des langages côté client, mais dans ce cas "Une fois que vous avez éliminé l'impossible, ce qui reste, aussi improbable soit-il, doit être la vérité."

Êtes-vous, collègues de server fault, conscients de configurations serveur qui pourraient affecter les performances de Javascript/JQuery?

2voto

Shane Madden Points 112034

Cela signifie probablement que le serveur ne renvoie pas les bonnes données lorsque le fichier .js est demandé.

On l'appelle un langage côté client car c'en est un; les fichiers javascript ne sont pas exécutés de quelque façon que ce soit sur le serveur; ce ne sont que des fichiers texte avec un type MIME différent selon lui.

Dans Firebug ou les outils de développement de Chrome, regardez attentivement les réponses aux requêtes des fichiers .js lorsqu'ils sont demandés aux deux serveurs. Quelque chose est différent entre eux.

0voto

TristanK Points 8893

Je devinerais que la Configuration de sécurité renforcée d'IE (IE ESC) est activée sur le Serveur A. Vous pouvez la désactiver depuis le niveau supérieur de la MMC du Gestionnaire de serveur.

Et le serveur n'a généralement pas besoin de pouvoir exécuter du javascript pour simplement le servir aux clients.

0voto

Underverse Points 103

Ce problème a été rencontré avec IIS-8 avec Chrome 63.0.3239.132 échouant à charger jQuery pour DataTables. Les fichiers et le code ont été téléchargés depuis le site DataTables (styles DataTables avec JQuery 3 et packages DataTables - pas de min ni de concaténation) puis téléversés dans un répertoire mappé à un site IIS pour créer un site statique avec uniquement du HTML et du JS. Le jQuery fonctionnait lorsqu'il était visualisé localement sur le serveur en utilisant Internet Explorer. Le jQuery a généré des erreurs lorsqu'il était visualisé sur un autre ordinateur sur le réseau en utilisant l'adresse complète du serveur en raison du script jQuery qui n'était pas chargé par le navigateur. IIS fonctionne. Le HTML de base se charge. jQuery est en panne.

Pour résoudre le problème, les fichiers ont été enregistrés en UTF-8 en les ouvrant sur la machine Windows Server 2012 dans le bloc-notes puis enregistrer sous et sélectionner l'encodage UTF-8. Pointer le HTML vers la version UTF-8 des fichiers et jQuery fonctionne.

Les erreurs générées incluaient :

Identifiant attendu

Identifiant, chaîne ou nombre attendu

'jQuery' est indéfini

'$' est indéfini

Une erreur similaire était générée lorsque la cible de la source du script JavaScript ne pointait pas vers un fichier JavaScript .js valide.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X