2016-03-31 10 views
1

Ich habe eine Datei (lam.php), die eine Datenbank-basierte Liste von Ländern in Lateinamerika anzeigt. Ich möchte es in verschiedene Seiten auf meiner Website als eine bequeme Referenz aufnehmen. Aber anstatt es einfach einzuschließen, möchte ich AJAX verwenden, damit die Benutzer entscheiden können, ob sie die Liste anzeigen möchten oder nicht.jQuery AJAX Post Fehler in Kopf Skript

Also lerne ich, wie man mit AJAX arbeitet. Es klingt so, als ob ich jQuery + AJAX verwenden möchte, indem ich Post anstelle von Get verwende.

Aber ich habe sofort auf einen Fehler in dieser Zeile hängen: $ .post ("http://gx/2b/inc/C/Shared/DBLists/World/lam.php", Daten, Rückruf);

Ich sehe keine Fehler angezeigt, wenn ich eine Vorschau der Seite, aber der Fehler ist in Dreamweaver markiert. Wenn ich auf die Schaltfläche klicke, passiert nichts. Es liegt also offensichtlich ein Fehler vor. Kann jemand den Fehler in meinem Skript finden?

Dies ist das gesamte Skript.

<head> 
    <script> 
    $(document).ready(function(){ 
    $("button#lam").click(function() 
    $.post("http://gx/2b/inc/C/Shared/DBLists/World/lam.php",data,callback); 
    ) 
    } 
) 
    </script> 
</head> 

<body> 
    <button id="lam">Latin America<button> 
</body> 
+0

Haben Sie die Callback-Funktion definiert? – Barmar

+1

Sie verwenden die undefinierte Variable 'data'. – Barmar

+0

Ich habe das von einem Tutorial bekommen. Ich habe im Grunde ihr Skript kopiert. Wie definiere ich "Daten" und "Rückruf"? Alle Daten sind in der Datei lam.php, also kann ich einfach "Daten" löschen? "Callback" bestimmt, wie die Daten abgerufen werden, oder? Mit anderen Worten, ich kann angeben "Zeige diese Tabelle an, wenn jemand auf die Schaltfläche mit der ID 'Afrika' klickt." –

Antwort

1

Sie benötigen einen DIV an den HTML-Code für das Ergebnis hinzuzufügen, in angezeigt werden dann die Callback-Funktion in der DIV mit der Antwort des AJAX zu füllen hat Anruf.

Da Ihr PHP-Skript keine Parameter akzeptiert, benötigen Sie das Argument data nicht.

<head> 
<script> 
$(document).ready(function(){ 
    $("button#lam").click(function() 
     $.post("http://gx/2b/inc/C/Shared/DBLists/World/lam.php", function(response) { 
      $("#lam-result").html(response); 
     }); 
    }); 
}); 
</script> 
</head> 

<body> 
    <button id="lam">Latin America<button> 
    <div id="lam-result"></div> 
</body>