AJAX不传输数据

时间:2015-10-26 12:48:24

标签: php jquery ajax

我想将数据从一个页面传输到另一个页面。我有两个页面:hostSettings.php和test.php

好的,这是我的test.php 它包括一个提交按钮和ajax / jquery-script

<html>
  <head>
    <link href="CSS/style.css" type="text/css" rel="stylesheet" />
    <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
    <script>

      $(document).ready(function() {
        $('#button').on('submit', function(e) {
          e.preventDefault();
          var test = "Hallo Welt!";
          $.ajax({
            url: "hostSettings.php",
            type: "POST", 
            data: { test : test },
            success: function (response) {
              console.log("data transmitted: " + response);
            },
            error: function(jqXHR, textStatus, errorThrown) {
              alert("Es ist ein Fehler aufgetreten!\n" + textStatus + "\n" + errorThrown);
              console.log(textStatus, errorThrown);
            }
          }); 

        });
      });
    </script>
  </head>

  <body>
    <font size="4">Test-Site</font>
    <hr>
    <?php include ("menu.html");?><br><br>

    <form method="POST" action="hostSettings.php">
      <input id="button" value="TEST" type="submit">
    </form>
  </body>
</html>

hostSettings.php:

    <html>
  <head>
    <link href="CSS/style.css" type="text/css" rel="stylesheet" />
    <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
  </head>

  <body>
    <font size="4">Hosts speichern</font><hr>
    <?php include ("menu.html");?><br><br>
    <br><br><br>

    <p><center>
      <h3>Diese Seite befindet sich momentan im Aufbau..</h3>
      <form action="index.php">
        <input type="submit" value="Zurück zum Index">
      </form>
    </p></center>

    <?php
      if( $_SERVER['REQUEST_METHOD']=='POST' ){
        if(isset($_POST["test"])) {
          echo $_POST["test"];
       }
      }
    ?>

  </body>
</html>

为什么它不会将数据从test.php传输到hostSettings.php :(

2 个答案:

答案 0 :(得分:6)

submit事件不适用于提交按钮。

您需要在表单上触发它。

您可以触发submit formclick button的事件。

改变这个:

$('#button').on('submit', function(e) {   

要:

$('#button').on('click', function(e) {

并且

<input type="submit" value="Zurück zum Index">

要:

<input type="button" value="Zurück zum Index">

答案 1 :(得分:2)

你正在提交按钮,提交应该在表格上。把一个id写在表单上,​​然后给你相同的代码,而Fred说使用按钮标签。如果你想使用按钮,你也可以尝试打开('点击'),它看起来也会更简单。

示例1.假设您使用id

标记了表单
 $(document).ready(function() {
        $('#myForm').on('submit', function(e) {
          e.preventDefault();
          var test = "Hallo Welt!";
          $.ajax({
            url: "hostSettings.php",
            type: "POST", 
            data: { test : test },
            success: function (response) {
              console.log("data transmitted: " + response);
            },
            error: function(jqXHR, textStatus, errorThrown) {
              alert("Es ist ein Fehler aufgetreten!\n" + textStatus + "\n" + errorThrown);
              console.log(textStatus, errorThrown);
            }
          }); 

        });
      });

示例2:

$(document).ready(function() {
        $('#button').on('click', function(e) {
          e.preventDefault();
          var test = "Hallo Welt!";
          $.ajax({
            url: "hostSettings.php",
            type: "POST", 
            data: { test : test },
            success: function (response) {
              console.log("data transmitted: " + response);
            },
            error: function(jqXHR, textStatus, errorThrown) {
              alert("Es ist ein Fehler aufgetreten!\n" + textStatus + "\n" + errorThrown);
              console.log(textStatus, errorThrown);
            }
          }); 

        });
      });