2017-04-24 4 views
-2

Hier ist mein Ajax-Code.ajax funktioniert nicht mit jquery

Ich kann keinen Fehler in meinem Code sehen, aber AJAX funktioniert nicht.

Es gibt nicht etwas von dieser Seite ...

function addCash(){ 
var cash =$('#cash_amount').val(); 
var date =$('#cash_date').val(); 
var debiter =$('#debiter').val(); 
if(cash == '' || date ==''){ 
alert("Please Fill All Fields"); 
} 
else{ 
$.ajax({ 
    type: 'POST', 
    dataType:'JSON', 
    url: 'getCustomers.php', 
    data: 'type=cash_received&cash='+cash+'&date='+date+'& debiter='+debiter, 
    success:function(data){ 
     console.log(data); 
     alert("Cash Added Successfully"); 
    } 
}); 
} 
} 

PHP-Code "getCustomers.php" ... in einer Funktion mit Ajax ein Problem ist?

$cash= $_REQUEST['cash']; 
$date= $_REQUEST['date']; 
$debiter= $_REQUEST['debiter']; 
$query="INSERT INTO `received_payment`(`debiter`, `amount`, `date`) VALUES ('".$debiter."', '".$cash."', '".$date."')"; 

$result = $mysqli->query($query) or ($error=$mysqli->error.LINE); 

$arr = array(); 
if(!$result){ 
$arr['result'] = isset($error) ? $error : 'error'; 
} 
else{ 
$arr['result'] ="ok"; 
} 
$json_response = json_encode($arr); 
ob_clean(); 
echo $json_response;` 
+0

Sie diese Codes in der gleichen Seite haben, sind? –

+0

no..etwas hochladen Probleme..so ich lege es hier zusammen ... sorry für das – Jana

+0

Was bekommen Sie in der Registerkarte Netzwerk des Browsers. Irgendeine Konsole Fehler? –

Antwort

1

Da Sie die anf verwenden, wenn Ihre Abfrage fehlschlägt, wird Ihr Skript absterben und daher wird keine Antwort erfolgen. So ändern Sie die unten Linie,

$result = $mysqli->query($query) or die($mysqli->error.__LINE__); 

zu

$result = $mysqli->query($query) or ($error=$mysqli->error.__LINE__); 

und Sie diesen Fehler in Antwort zurückgeben kann wie,

if(!$result){ 
    $arr['result'] = isset($error) ? $error : 'error'; 
} 

auch in Ihrer Einsatz Abfrage, Felder und deren Werte nicht passend, sollten Sie es wie,

$query="INSERT INTO `received_payment` (`debiter`, `amount`, `date`) 
         VALUES ('".$debiter."', ".$cash."', '".$date."')"; 
verwenden

Und versuchen, Daten von AJAX zu passieren (Sie haben Platz vor debiter Schlüssel in der Datenkette) wie,

data: {type:'cash_received',cash:cash,date:date,debiter:debiter}, 
+0

Übergeben Sie 'Daten' wie' Daten: {Typ: 'cash_received', Bargeld: Bargeld, Datum: Datum, Debitor: Debitor}, ', siehe meine aktualisierte Antwort. –

+0

Funktioniert immer noch nicht – Jana

+0

Wenn Fehler auftreten, rufen Sie die Konsole Ihres Browsers auf. Und stellen Sie sicher, dass Ihre Ajax-Anrufanforderung erfolgt. –

0

Ein zusätzliches Komma in INSERT-Abfrage.

$query="INSERT INTO `received_payment`(`debiter`, `amount`, `date`,) VALUES ('".$cash."', '".$date."', '".$debiter."')"; 

Wechseln zu:

$query="INSERT INTO `received_payment`(`debiter`, `amount`, `date`) VALUES ('".$cash."', '".$date."', '".$debiter."')"; 

Es ist ein error geben tatsächlich, aber da gab man die() der Code wird verlassen zu werden. Sie erhalten also nichts vom Server.

0

in AJAX-Request Sie JSON Dateninhalt nur akzeptieren erwähnt. In einigen Fällen kann es passieren, dass der Server die Antwort mit Warnung und Fehler zurückgibt, wenn der PHP-Fehler aktiviert ist.

So in Server-Seite PHP-Skript vor Echo-Antwort im JSON-Format können Sie ob_clean() zum Löschen aller unerwarteten Ausgabe, die durch Fehler oder Warnung gesendet wird.

$json_response = json_encode($arr); 
ob_clean(); 
echo $json_response; 
+0

Jetzt habe ich meinen Code aktualisiert ... überprüfen Sie es gerade. .it gibt immer noch nichts zurück – Jana

0

Bitte entfernen Sie Anführungszeichen am Ende der Leitung

echo $json_response;`