2016-04-09 12 views
0

Ich möchte die Schlüssel und Wert Paare zu einer PHP-Datei mit jQuery AJAX-Funktion senden, aber die Funktion sendet nicht die Daten.jQuery's AJAX gibt keine Daten

Der PHP-Code ist in der gleichen "tester.php" Datei zusammen mit dem HTML-Code wie unten dargestellt:

<?php 
if (array_key_exists("REQUEST_METHOD", $_SERVER) && $_SERVER["REQUEST_METHOD"] == "POST") { 
    echo "<pre>"; 
    print_r($_POST); // always empty, no clue why! 
    echo "</pre>"; 
    exit(); 
} 
?> 

<html> 
<head> 
    <meta charset="utf-8"> 
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
    <script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
    <script> 
     $(document).ready(function() { 
      $.ajax({ 
       type: "POST", 
       url: "Tester.php", // the same file/page 
       data: { 
        requestData: true, 
        message: "please print me!" 
       }, 
       success: function(data) { 
        document.write("success!"); 
        document.write(data); 
       }, 
       error: function(xmlHttp) { 
        document.write("error!"); 
        document.write(xmlHttp.responseText); 
       } 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <p>Testing...</p> 
</body> 
</html> 

Diese Drucke:

success! 
Array 
(
) 

Aber das Array gedruckt sollte die enthalten "requestData: true" aus den Daten, die an das $ _POST-Array übergeben werden, aber stattdessen ist dieses Array leer. Was habe ich falsch gemacht? Vielen Dank!

+0

wo ist PHP-Code? – uzaif

+0

Ihre HTML-Datei und PHP-Code-Datei sind auf der gleichen Seite oder anders? –

+0

Sie sind auf der gleichen Seite. Es ist alles in einer Datei – Mayron

Antwort

1

HTML-Datei (36516400.html)

<html> 
    <head> 
     <title>36516400</title> 
     <script type="text/javascript" src="../../../assets/js/script.js"></script> 
    </head> 

    <body> 
     <h1>Welcome</h1> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $.ajax({ 
        type:'POST', 
        data:{ 
         'requestData':true, 
         'message':"please print me!" 
        }, 
        url:'responce.php', 
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
        success:function(data){ 
         alert(data); 
        } 
       }); 
      }) 
     </script> 
    </body> 
</html> 

PHP-Datei (responce.php)

<?php 
    echo "<pre>"; 
    print_r($_REQUEST); 
    echo "<pre>"; 
?> 

Anfrage in Chromkonsole

enter image description here

+0

Seltsam, für mich, dass auch ein leeres Array warnt. – Mayron

+1

Bitte Bild überprüfen Ich hatte hinzugefügt, Sie haben diese FormData Block –

+0

Ah ja, ich bekomme das. Aber es sollte innerhalb der $ _POST-Array.Was muss ich den Inhaltstyp, wenn es denkt, es ist ein Formular. – Mayron

Verwandte Themen