2017-10-25 2 views
0

Ich habe keine Ahnung, wie man Variable mit Ajax an eine andere Seite übergeben. Ich möchte Daten von Page1 und echo in Page2 erhalten. Hier ist mein Code:Wie übergibt man eine ajax-Variable an eine andere Seite?

Seite 1

<?= 
    formDropdown('employeeName', 'employeeName', 'Employee Name:', $empName, 
    isset($employeeName) ? '' : $hiddenV , 'All', '', 'onchange="employeeNameChange(this.value)"', 'form-control', '<br>'); 
?> 

<script type="text/javascript"> 
function employeeNameChange(str) { 
    $.ajax({ 
     type: "POST", 
     url: "indexPage.php", 
     data: "en=" + str, 
     success: function(data){ 
     } 
    }); 
} 
</script> 

Seite 2

$emp_name = $_POST['en']; 
echo "Employee Name is ". $_POST['en'] ; 

Als ich die Nachricht Echo, Ausgabe ist "Mitarbeitername ist". Warum das?

+0

Aus meiner Erfahrung in Ajax, wird es ziemlich schwierig sein, es von 'page2.php' anzuzeigen, denn wenn Sie es echo, wird es in' Erfolg' weitergegeben, oder Sie wi Wenn es sich um eine ungültige Rückgabe * handelt, wird ein Fehler zurückgegeben. (Es basiert auf dem von Ihnen gewählten 'dataType') * – Swellar

+0

Es gibt hier nichts, was darauf hindeutet, dass Sie überhaupt eine Ausgabe haben sollten. Wie sieht Ihre Form aus (der vollständige HTML-Code) und wo sehen Sie die Ausgabe? – jeroen

+0

Wahrscheinlich 'str' enthält leere Zeichenfolge – Maxim

Antwort

2

Unter der Annahme, dass der Variable definiert ist, können Sie versuchen, diese zu überprüfen, ob es wirklich etwas

function employeeNameChange(str) { 
    $.ajax({ 
     type: "POST", 
     url: "indexPage.php", 
     data: "en=" + str, 
     dataType:"text", 
     success: function(data){ 
      alert(data); 
     }, 
     error:function(xhr, status, error){ 
      alert(error); 
     } 
    }); 
} 

Und in indexPage.php

if(isset($_POST['en'])){ 
    echo $_POST['en']; 
} 

Dies sollte den Wert von str alarmieren enthält, oder eine alarmieren Fehler

+0

Ich bekomme die Ausgabe: Interner Serverfehler –

+0

Versucht in meiner Maschine, es hat funktioniert. – Swellar

Verwandte Themen