Migrating form data from ajax to php

How to transfer form data from ajax to php? But not through POST (means in URL).

patient_anlegen.php

    <form id="form_patienten_anlegen" name="form_patienten_anlegen">
    <table class="table_patienten_anlegen">
      <tr>
        <td>Anrede:</td>
        <td>
            <select id="termin_anrede" name="termin_anrede">
                <option value=0>Bitte auswählen</option>
                <option value="Frau">Frau</option>
                <option value="Herr">Herr</option>
            </select>
        </td>
      </tr>
      <tr>
        <td>Vorname:</td>
        <td><input type="text" size="30" name="termin_vorname" id="termin_vorname" ><div class="error" id="termin_vornamefehler"></div></td>
      </tr>
      <tr>
        <td>Nachname:</td>
        <td><input type="text" size="30" name="termin_nachname" id="termin_nachname"><div class="error" id="termin_nachnamefehler"></div></td>
      </tr>
</form>

My patient.js

$(document).on('click', '#submit_patienten_anlegen', function() {
    alert("Test");          
    $.ajax({url: 'func/patienten.php',
        data: $('#form_patienten_anlegen').serialize(),
        parameters: { 
                action: 'patienten_anlegen'
        },
        type: 'post',                  
        beforeSend: function() {

        },
        complete: function() {

        },
        success: function (result) {
            var response = JSON.parse(result);

            if(response.status) {
                alert(response.status);

            } else {
                alert(response.message);
            }
        },
        error: function (request,error) {              
            alert('Fehler!');
        }
    });                          
});

My patient .php

<?php

if($_GET["action"] == "patienten_anlegen"
{
    $output = array('status' => "patienten_anlegen", 'message' => "OKAY");
}

echo json_encode($output);
?>

This does not work: (

But I do not understand why! I used the firefox debugger but can't see anything.

+3
source share
2 answers

you specify in an ajax call like type: 'post',
 but in php using$_GET if($_GET["action"]

Change the type to type: 'get' and I hope you have a field called action in your form.

0
source

POST not through the URL query string. GET through the query string.

In your php code you should use $_POSTinstead $_GET.

, "name" => "value", name - "" .

, $_POST['termin_anrede'] .

: patient.js .

$(document).on('click', '#submit_patienten_anlegen', function(e) {
    e.preventDefault();
    alert("Test");

2: html, . , .

<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery.js"></script>
  </head>
  <body>
    <form id="form_patienten_anlegen" name="form_patienten_anlegen">
      <table class="table_patienten_anlegen">
        <tr>
          <td>Anrede:</td>
          <td>
              <select id="termin_anrede" name="termin_anrede">
                  <option value=0>Bitte auswählen</option>
                  <option value="Frau">Frau</option>
                  <option value="Herr">Herr</option>
              </select>
          </td>
        </tr>
        <tr>
          <td>Vorname:</td>
          <td><input type="text" size="30" name="termin_vorname" id="termin_vorname" ><div class="error" id="termin_vornamefehler"></div></td>
        </tr>
        <tr>
          <td>Nachname:</td>
          <td><input type="text" size="30" name="termin_nachname" id="termin_nachname"><div class="error" id="termin_nachnamefehler"></div></td>
        </tr>
      </table>
      <button id="submit_patienten_anlegen">Submit</button>
    </form>

    <script>
      $(document).on('click', '#submit_patienten_anlegen', function(e) {
          e.preventDefault();
          alert("Test");          
          $.ajax({url: 'func/patienten.php',
              data: $('#form_patienten_anlegen').serialize(),
              parameters: { 
                      action: 'patienten_anlegen'
              },
              type: 'post',                  
              beforeSend: function() {

              },
              complete: function() {

              },
              success: function (result) {
                  var response = JSON.parse(result);

                  console.log(response);
              },
              error: function (request,error) {              
                  alert('Fehler!');
              }
          });                          
      });
    </script>
  </body>
</html>

.php

<?php
  echo json_encode($_POST);
?>

, php- post $_POST, :

  • : $_POST ['termin_anrede']
  • : $_POST ['termin_vorname']
  • : $_POST ['termin_nachname'];

, name="" /.

, $_GET["action"], , , / , , . , .

0

All Articles