Ich wurde gebeten, Ajax Post-Daten zum PHP-Skript, die ein weiteres Skript, die SQL-Verbindung zur Datenbank führen und alle Daten und Daten zu konvertieren JSON-Format. Dann werden die JSON-Daten auf der Konsole angezeigt. Ich wurde auch gebeten, den Ajax zu ändern, um die Werte wie Name und die Religion wie Abdullah beziehungsweise Muslim zu schreiben. Ich möchte Kodierung auf dem passwrapper durchführen, um Daten auf dem console.log zu erhalten und zu zeigen. in Ajax .htmlFehler beim Ausführen von Ajax-Post-Daten und echo diese Daten auf der Konsole Protokoll
<html>
<head>
<script type="text/javascript" src="/Cesium-1.34/ThirdParty/jquery-1.11.3.min.js"></script>
</head>
<div id="resulte"</div>
<script type="text/javascript">
showData();
function showData()
{
$.ajax({
type: "post",
url: "passwrapper.php",
dataType: "json",
data: {
lastName: 'Abdullah',
lastReligion: 'Muslim',
},
success: function(data){
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert('An error occurred... Look at the console (F12 or Ctrl+Shift+I, Console tab) for more information!');
$('#resulte').html('<p>Status Code: '+jqXHR.status+'</p><p>ErrorThrown: ' + errorThrown + '</p><p>jqXHR.responseText:</p><div>'+jqXHR.responseText + '</div>');
console.log('jqXHR:');
console.log(jqXHR);
console.log('textStatus:');
console.log(textStatus);
console.log('errorThrown:');
console.log(errorThrown);
},
});
};
</script>
</body>
</html>
in passwrapper.php
<?php
include 'student.php';
executePass();
receivePost();
function receivePost()
{
if ((!isset($_POST["lastName"])) and (!isset($_POST["lastReligion"])))
{
//do nothing
}
else
{
echo '<script>console.log("Last='.$_POST["lastName"].' lastReligion='.$_POST["lastReligion"].'");</script>';
}
}
?>
in student.php
<?php
function executePass()
{
$conn = mysqli_connect('localhost','root','netwitness') or die ("Could not connect database");
$db = mysqli_select_db($conn,'abdpractice') or die ('Could not select database');
$result = mysqli_query($conn,"select * from student");
$json_array = array();
while ($row = mysqli_fetch_assoc($result))
{
$json_array[] = $row;
}
echo json_encode($json_array);
}
?>
meine Frage ist, wie alle Daten auf dem Konsolenprotokoll zu zeigen und als o Zeige die Postdaten auf der console.log .. Bitte ändere nicht die student.php ... nur die passwrapper.php ändern
keinen Skriptblock aus passwrapper.php zurückgeben. Gebe das _data_ zurück (als JSON - im Moment gibst du JSON nicht zurück, also gibt es wahrscheinlich einen Fehler, wenn du in die Konsole schaust), und dann kannst du in deiner ajax "success" -Funktion eine console.log machen. Verwirrenderweise fügen Sie auch die students.php in die gleiche Datei ein. Das _does_ gibt JSON zurück, aber dann wird der Rest von passwrapper.php ausgeführt und versucht, ein Skript zurückzugeben. Also wird die Ausgabe an den Browser ein Wirrwarr der beiden Dinge sein und ungültig sein. – ADyson
Können Sie mehr über Ihren Satz –
ausarbeiten, welches Bit verstehst du nicht? Überprüfen Sie auf der Registerkarte Netzwerk Ihres Browsers, bei der Ajax-Anfrage - Sie werden sehen, wie die Antwort zurückkommt. Zuerst die Ausgabe von executePass() und dann die Ausgabe von receivePost(). Das zweite Bit der Ausgabe ist nicht JSON und deshalb ungültig, weil Sie dem Ajax-Aufruf sagen, dass er json zurück erwarten soll. – ADyson