Ich versuche, jQuery und WebMethods mit ASP.NET auszuführen. Ich habe der Masterseite einen ScriptManager und einen Inhalt der Inhaltsseite hinzugefügt
<asp:Content ID="ch" ContentPlaceHolderID="cHead" runat="server">
<script language="javascript" type="text/javascript">
$(document).ready(function () {
alert("hi");
});
</script>
</asp:Content>
Aber das feuert nie, was fehlt mir?
Überprüfen Sie die folgenden Schritte.
Diese Dinge sollten das Problem beheben
Wenn ready
nicht mehr funktioniert, besteht die Möglichkeit, dass Sie irgendwo Javascript-Code haben, der eine Ausnahme in einem $(document).ready(...)
- oder $(...)
-Aufruf auslöst, wodurch die Verarbeitung der übrigen ready
-Blöcke abgebrochen wird. Identifizieren Sie eine einzelne Seite, auf der dies geschieht, und untersuchen Sie sie an anderen Stellen auf mögliche Fehler.
Anstelle dieses zu verwenden:
$(document).ready(function() { /* your code */ });
Benutze das:
jQuery(function($) { /* your code */ })(jQuery);
Es ist prägnanter und macht dasselbe, es hängt auch nicht von der $
-Variablen ab, die das jQuery-Objekt ist.
Dies geschieht, wenn die Host-Seite HTTPS ist und der enthaltene JavaScript-Quellpfad HTTP ist. Die beiden Protokolle müssen identisch sein, HTTPS. Das Tell-Tail-Zeichen wäre, unter Firebug zu prüfen, dass der JS "Zugriff verweigert" wird.
function pageLoad() { console.log('pageLoad'); $(document).ready(function () { alert("hi"); }); };
es ist der ScriptManager-Ajax, der das Problem verursacht Verwenden Sie stattdessen pageLoad ()
Ich hatte meine Inline js
aus einem anderen .php
-Projekt kopiert. In diesem Codeblock befand sich ein php
-Code, der einen Wert ausgab. Jetzt, da die Variable nicht in meiner neuen Datei definiert war, erzeugte sie den typischen php
undefined warning/error
und weil davon wurde der js
-Code durcheinandergebracht und reagierte nicht auf ein Ereignis, selbst alert("xyz");
würde im Stillen fehlschlagen !! Obwohl sich die fehlerhafte Zeile am Ende der Datei befand, würde die Variable js
auch dies sterben.
ohne fehler !!! > :(
Verwirrend ist nun, dass die Debugger-Konsole/-Ausgabe keinerlei Hinweis/Fehler/Warnung enthielt. Die Variable js
starb stumm.
Prüfen Sie also, ob Sie php
inline mit der js
codiert haben, und prüfen Sie, ob ein Fehler ausgegeben wird. Nach dem Entfernen/Sortieren sollte Ihre js
gut funktionieren.
Eine Möglichkeit, schauen Sie mal:
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js" />
vs
<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js"></script>
Die erste Methode ist eigentlich falsch, jedoch beschwert sich der Browser überhaupt nicht. Sie müssen sich vergewissern, dass Sie den Javascript-Tag tatsächlich schließen.
- Prüfen Sie, ob Ihr Skript nach dem jQuery-Link geschrieben oder geladen werden muss.
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
//after link >> write codes...
<script>
$(document).ready(function(){
//your code
})(jQuery);
</script>