Es gibt eine Schaltfläche auf einer Webseite. Wenn Sie darauf klicken, wird der Absatz (<p>
) durch den Header (<h1>
) ersetzt.jQuery, Ajax: HTML kann nicht ersetzt werden
Allerdings kann ich nicht scheinen, es funktionierte zu machen:
index.html
<head>
<script src="js/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>
<script src="js/libs/jquery/jquery.js"></script>
<script src="js/libs/jqueryui/jquery-ui.js"></script>
<script src="js/main.js"></script>
</head>
<body>
<section>
<p id="replaceableP1">This text will be replaced </p>
<button id="myButton">Get External Data</button>
</section>
</body>
main.js
$(document).ready(function(){
$("#myButton").click(function(){
$.get("someInfo.html", function (data, status){
if (status === "success"){
$('#replaceableP1').html(data);
} else {
$("#replaceableP1").html("Problem reading data");
}
});
});
});
someInfo.html
<h1>This is external data!</h1>
Der Fehler erzeugt auf: $('#replaceableP1').html(data);
in den main.js
Wenn I data
mit "displayText"
ersetzen, wird es Element index.html und displaytext ersetzen.
Wenn ich someInfo.html aus dem Verzeichnis zu entfernen, wird die Webseite nicht einmal Fehlermeldung erzeugen: Problem Lesen von Daten.
Was ist falsch an dem Code?
EDIT: Meine schlecht, ich habe vergessen, es gibt $("#myButton").click(function(){
Nun, für Anfänger haben Sie eine zu viele schließende Klammern/Klammern. Entferne das letzte '});' und sieh nach, ob es besser funktioniert. – amdouglas
Nun, es gibt kein Klickereignis, also nicht sicher, wie die Schaltfläche den Inhalt ersetzt. – epascarello
Die AJAX-Anforderung wird ausgeführt, sobald die Seite geladen wird, d. H. '$ (Document) .ready '. Das funktioniert: https://jsbin.com/gucawus/ – amdouglas