2017-01-09 2 views
-1

Ich habe eine AJAX-Anfrage, um die Daten von MySQL zu holen. Auf Anfrage enthält die result Variable im Erfolgsteil einen leeren String, "". Wenn ich den dataType zu json ändere, erhalte ich keine Ergebnisse.AJAX PHP-Kombination, die leere Zeichenfolge an die JS zurückgibt

$.ajax({ 
    url: "test.php", 
    dataType: 'text', 
    success: function(result) { 
     alert(result); 
    } 
}); 
<?php 
$con = mysqli_connect("localhost", "root", "", "test"); 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql = "SELECT * FROM 'tabel_name'"; 
$result = mysqli_query($con, $sql); 
?>  

Was könnte der Grund für diese leere Zeichenkette als Ergebnis sein? Ich habe Daten in der Tabelle und ich bekomme keine Ausnahmen.

+5

Sie müssen 'echo' die Ergebnisse ..... bekommen;) Frage erscheint mir ein bisschen zu weit zu beantworten, da Sie hier mehrere Dinge tun müssen. Stellen Sie eine Verbindung her, wählen Sie db create query get results und *** echo die codierten Ergebnisse *** at php. Verwenden Sie jetzt dataType json am Frontend. – Jai

+0

Was Sie in test.php widergeben/anzeigen, sind die Daten, die in Ihrem 'alert()' –

+0

angezeigt werden. Ich würde vorschlagen: echo json_encode ($ result) ' –

Antwort

0

in Ihrem PHP-Code

<?php 
    $con=mysqli_connect("localhost","root","","test"); 
    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 

    $sql="SELECT * FROM 'tabel_name'"; 

    $result=mysqli_query($con,$sql); 
    $resultant_array = array(); 
    $index = 0; 
    while($row = mysql_fetch_array($result)) { 
     foreach($row as $column => $val) { 
      $result[$index][$column] = $val; 
     } 
     $index++; 
    } 
    echo json_ecode($resultant_array); 
    ?> 

Auf diese Weise werden Sie Antwortdaten in Ihrem Erfolg versprechen von Ajax

Verwandte Themen