JQuery sendet keinen Post

Anacondi

Erfahrenes Mitglied
hallo, habe mal wieder ein Problem.
ich möchte im Hintergrund, also ohne das die seite neu geladen wird einen post an eine php Datei senden.
aber in der php seite kommt nichts an.

mein Code:
Code:
 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    <script type="text/javascript">
function click(){
   $.ajax({
        url: "balken1.php",
        data: {id: 22},
        type: "POST"
      
   });
}
    </script>
  </head>
  <body>
    <button type="button" id="myClickBtn" onclick="click()">go!</button>
  </body>

als Beispiel hab ich jetzt mal die zahl 22, die ich senden möchte.
meine balken.php sieht so aus:
Code:
<?php
$id = $_POST["id"];

echo $id;
?>
 
Da sich das jQuery-Script nicht am Dokumentende unmittelbar vor </body>, sondern im Dokumentheader befindet, fehlt noch $(document).ready().

Und wie liest Du das Ergebnis aus bzw. gibst es zurück?

So funktioniert's bei mir:
PHP:
// alter.php
$id = $_POST["id"];
echo "Du bist ". $id. " Jahre alt.";
Code:
$(document).ready(function() {
  $("button").click(function(){
    $.ajax({
      url: "alter.php",
      data: {id: 22},    
      method: "POST", // "method" anstelle von "type", da bei mir jQuery > 1.9.0 zum Einsatz kommt
      success: function(result){
        $("div").html(result);
    }});
  });
});
HTML:
<button type="button" id="myClickBtn">go!</button>
<div></div>
 
Zuletzt bearbeitet:
ungelogen... so ist meine seite aufgebaut und mehr hab ich nicht drin:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>

  
    <script src="jquery.min.js"></script>
    <script type="text/javascript">

$( document ).ready(function() {
   $("button").click(function(){
         $.ajax({
         url: "balken1.php",
         data: {id: 22},
  // "method" anstelle von "type", da bei mir jQuery > 1.9.0 zum Einsatz kommt
         type: "POST", success: function(result){
         $("div").html(result);
       }});
     });
  });
    </script>
  </head>
  <body>
<button type="button" id="myClickBtn">go!</button>

<div></div>

  </body>
</html>
und die balken1.php:
Code:
$id = $_POST["id"];
echo " id = ";

?>

die query.min.js liegt direkt im hauptverzeichnis auf dem serfer.

in dem div wird die 22 nach dem klick auf Go ja angezeigt, nur in der balken1.pjp kommt einfach nichts an.
 
das ist richtig. das speichern der 22 in die Datenbank kommt später noch.
aber das
echo $id sollte mir doch die 22 ausgeben
hab oben die zeile vergessen. als ausgabe hab ich echo $id; stehen
 
echo $id sollte mir doch die 22 ausgeben
Tut es doch o_O

Um bei meinem Beispiel (alter.php) zu bleiben:
PHP:
// alter.php
$id = $_POST["id"];
echo "Du bist ". $id. " Jahre alt."; // Ausgabe in <div></div>: Du bist 22 Jahre alt.
Kommentiert man im jQuery-Script data: {id: 22} aus, bleibt das übrig:
Code:
Du bist Jahre alt.
Ergo wird es Zeit für
das speichern der 22 in die Datenbank kommt später noch.
 
erst mal danke für deine hilfe.
irgendwie steh ich im walde:
habe jetzt noch ein include("mysql");
und ein $update = Datenbank eingefügt.
in die Datenbank schreibt er die 22.

wo also ist da mein Denkfehler? das echo $id sollte doch 22 ausgeben
 
Zurück