2017-01-28 4 views
-1

Ich versuche, eine ganze Zahl an PHP-Code übergeben, wo es dann zu WAMP sql db speichern würde, aber ich kann das nicht funktionieren.Variable an PHP mit AJAX übergeben funktioniert nicht

JS-Funktion - Punkt ist die ganze Zahl I gespeichert werden soll:

function storeData(item){ 
    $.ajax({ 
     url: 'insert.php', 
     type: 'POST', 
     data: { 
      'var1': item 
     }, 
     success: function(results) { 
      console.log("success"); 
     }, 
     error: function(results){ 
      console.log("error"); 
     } 
    }); 
} 

PHP-Datei:

<?php 
    $host = "localhost:3306"; 
    $user = "root"; 
    $pass = ""; 
    $databaseName = "items"; 

    $con = mysqli_connect($host,$user,$pass, $databaseName); 
    //$dbs = mysqli_select_db($databaseName, $con); 

    $itemNumber = $_POST['var1']; 

    echo json_encode($itemNumber); 

    $sql = "INSERT INTO item_list (item_number) VALUES ('$itemNumber')"; 
    mysqli_query($con, $sql) or die(mysqli_error()); 
?> 

bekomme ich nur diese Fehler - XML-Parsing-Fehler: kein Element gefunden Ort: Datei : /// C: /wamp64/www/bootstrap-3.3.7-dist/insert.php Zeile Nummer 8, Spalte 3:

+0

immer noch nichts, es gibt nicht einmal den Wert zurück in die Konsolenprotokolle – user1796741

Antwort

0

genug sein, ich was falsch war herausgefunden, anscheinend brauchte ich vollständigen Pfad für die URL angeben, hat es nicht glauben war erforderlich, da sich sowohl die Hauptdatei als auch die PHP-Datei im selben Ordner befanden.

function storeData(item){ 
    $.ajax({ 
     url: 'http://localhost/bootstrap-3.3.7-dist/main.php', 
     type: 'POST', 
     data: { 
      'var1': item 
     }, 
     success: function(results) { 
      console.log("success"); 
     }, 
     error: function(results){ 
      console.log("error"); 
     } 
    }); 
    return false; 
} 
0

Damit das console.log funktioniert, benötigen Sie einen Erfolgsmethode od, so ändern von ihm:

function storeData(item){ 
    $.ajax({ 
     url: 'insert.php', 
     type: 'POST', 
     data: { 
     var1: item 
     } 
    });} 

An:

function storeData(item){ 
    $.ajax({ 
     url: 'insert.php', 
     type: 'POST', 
     data: { 
     var1: item 
     }, 
     success: function(results) { 
     console.log(results); 
     } 
    });} 

auch für eine bessere Lese Ich empfehle u Ihre Daten json_encode:

echo json_encode($itemNumber); 
exit; 
+0

Danke für die Antwort. Ich habe mich über Änderungen beworben, allerdings bekomme ich immer noch nichts in der Konsole zurück. – user1796741

+0

@ user1796741 Sie können einen Kommentar eingeben '$ con = mysql_connect ($ host, $ user, $ pass); $ dbs = mysql_select_db ($ databaseName, $ con); 'diejenigen aus und versuchen es noch einmal? Welchen Staat bekommen Sie auch 500? – justkidding96

+0

yap, gerade noch, immer noch kein Glück:/ – user1796741

1

einfach Abfragen der Datenbank ist nicht genug. Sie müssen dann etwas zurück an das Javascript senden. Eine Statusmeldung würde in diesem Fall

<?php 
    $host = "localhost:3306"; 
    $user = "root"; 
    $pass = ""; 
    $databaseName = "items"; 

    $con = mysqli_connect($host,$user,$pass, $databaseName); 
    //$dbs = mysqli_select_db($databaseName, $con); 

    $itemNumber = $_POST['var1']; 

    echo json_encode($itemNumber); 

    $sql = "INSERT INTO item_list (item_number) VALUES ('$itemNumber')"; 
    $result = mysqli_query($con, $sql) or die(mysqli_error()); 

    if (!$result) { 
     echo json_encode(array('status' => 'FAILED')); 
    } else { 
     echo json_encode(array('status' => 'OK')); 
    } 
?> 

Und in Ihrem js Code

function storeData(item){ 
    $.ajax({ 
     url: 'insert.php', 
     type: 'POST', 
     data: {'var1': item }, 
     success: function(data) { 
      console.log("In success method"); 
      console.log("status returned " + data.status); 
     }, 
     error: function(data){ 
      console.log("error"); 
     } 
    }); 
} 
Verwandte Themen