在Bootsrap頁面中,我使用jQuery來發送不同的公式zu a .php。使用jQuery,我試圖從.php中將結果顯示給用戶。但是,當我從PHP的結果,什麼happend我無法理解: 以下結果傳入響應給在控制檯的: 命令: console.log("Test: "+response+"\n\n Test2: "+response.Richtwert1);
結果:
測試:{「成功」 :true,「Rechnung1」:true,「Liter1」:「2000」, 「Entfernung1」:「91.86」,「Richtwert1」:「2000」,「PpLnetto1」:「3.4」, 「PpLbrutto1」:「4.04」 ,「Gesamtpreis1」:「91.86」,「Rechnung2」:假, 「Rechnung3」:假
Test2:unde罰款
希望這裏的某個人可以幫助我從我的迴應中獲得我的價值觀。 按照我的計劃的重要組成部分:在index.html的JQ的 部分:
<script>
$(document).ready(function(){
$('#Rechnen_button').on('click',function(){
//Formular absenden
//Alte ErrorMeldungen entfernen
$('#KundennameZeile').removeClass('has-error');
$('#LiterZeile1').removeClass('has-error');
var formControl = true;
//Variable einsammeln
var Name = "Rechner";
var Kundenname = $('#Kundenname').val();
var LiterAuswahlFeld1 = $('#LiterAuswahlFeld1').text();
var Liter1 = $('#Liter1').val();
var AB1 = $('#AbladestellenAuswahlFeld1').text();
var Raten1 = $('#RatenAuswahlFeld1').text();
var Ort = $('#OrtAuswahlFeld').text();
var Oel1 = $('#OelsorteAuswahlFeld1').text();
var LiterAuswahlFeld2 = $('#LiterAuswahlFeld2').text();
var Liter2 = $('#Liter2').val();
var AB2 = $('#AbladestellenAuswahlFeld2').text();
var Raten2 = $('#RatenAuswahlFeld2').text();
var Oel2 = $('#OelsorteAuswahlFeld2').text();
var LiterAuswahlFeld3 = $('#LiterAuswahlFeld3').text();
var Liter3 = $('#Liter3').val();
var AB3 = $('#AbladestellenAuswahlFeld3').text();
var Raten3 = $('#RatenAuswahlFeld3').text();
var Oel3 = $('#OelsorteAuswahlFeld3').text();
//Kontrolle ob alles wichtige für Rechnung 1 da ist
if(Kundenname == '') {
formControl = false;
$('#KundennameZeile').addClass('has-error');
}
if(Liter1 == '') {
formControl = false;
$('#LiterZeile1').addClass('has-error');
}
if($.isNumeric(Liter1) == false) {
formControl = false;
$('#LiterZeile1').addClass('has-error');
}
if(formControl) {
//Rechnung abschicken
$.ajax({
type: "POST",
url: "post.php",
data: {
name:Name,
Kundenname:Kundenname,
LiterAuswahlFeld1:LiterAuswahlFeld1,
Liter1:Liter1,
AB1:AB1,
Raten1:Raten1,
Ort:Ort,
Oel1:Oel1,
LiterAuswahlFeld2:LiterAuswahlFeld2,
Liter2:Liter2,
AB2:AB2,
Raten2:Raten2,
Oel2:Oel2,
LiterAuswahlFeld3:LiterAuswahlFeld3,
Liter3:Liter3,
AB3:AB3,
Raten3:Raten3,
Oel3:Oel3
},
success: function(response) {
console.log("Test: "+response+"\n\n Test2: "+response.Richtwert1);
if(!response.success) {
return response.msg;
} else {
$('#RichtwertErgebnis1').html(response.Richtwert1+' L.');
$('#EntfernungErgebnis1').html(response.Entfernung1+' €');
$('#PlLnettoErgebnis1').html(response.PpLnetto1+' Ct');
$('#PpLbruttoErgebnis1').html(response.PpLbrutto1+' Ct');
if(LiterAuswahlFeld1=="Liter") {
$('#GesamtbruttoErgebnis1').html(response.Gesamtpreis1+' €');
} else {
$('#GesamtbruttoErgebnis1').html(response.Gesamtpreis1+' € ergeben '+response.Liter1+' L.');
$('rechnungsergebnis_1 span:last-child').html('Gesamt brutto ergibt Liter');
}
}
}
});
}
})
})
</script>
的post.php中:
<?php
include 'config.php';
$name = $_POST['name'];
if (strlen($name) > 0) {
if($name=='Rechner'){
//Rechnung durchführen
$Kundenname = $_POST['Kundenname'];
$LiterAuswahlFeld1 = $_POST['LiterAuswahlFeld1'];
$Liter1 = $_POST['Liter1'];
$AB1 = $_POST['AB1'];
$Raten1 = $_POST['Raten1'];
$Ort = $_POST['Ort'];
$Oel1 = $_POST['Oel1'];
$LiterAuswahlFeld2 = $_POST['LiterAuswahlFeld2'];
$Liter2 = $_POST['Liter2'];
$AB2 = $_POST['AB2'];
$Raten2 = $_POST['Raten2'];
$Oel2 = $_POST['Oel2'];
$LiterAuswahlFeld3 = $_POST['LiterAuswahlFeld3'];
$Liter3 = $_POST['Liter3'];
$AB3 = $_POST['AB3'];
$Raten3 = $_POST['Raten3'];
$Oel3 = $_POST['Oel3'];
//Something for you unimporant is deleted
if(strlen($name) > 0 && ((strlen($Liter1) > 0 && is_numeric($Liter1))||(strlen($Liter2) > 0 && is_numeric($Liter2))||(strlen($Liter3) > 0 && is_numeric($Liter3)))) {
if(strlen($Liter1) > 0 && is_numeric($Liter1)) {
//Rechnung 1
//Variablen Kontrolle
if($LiterAuswahlFeld1!=='Max. Betrag') {$LiterAuswahlFeld1="Liter";}
switch ($AB1) {
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
break;
default:
$AB1=1;
break;
}
switch ($Raten1) {
case 1:
$Raten1=0;
break;
case 2:
$Raten1=1;
break;
case 3;
$Raten1=2;
break;
default:
$Raten1=0;
break;
}
if($Oel1!=='Premium Heizöl') {$Oel1="Heizöl EL";}
//Werte berechnen
$rechnung1=preisrechner($Liter1, $LiterAuswahlFeld1, $AB1, $Raten1, $ortwert, $Oel1, $vkp);
//Ausgabe für Rechnung
$ergebnissRechnung1 = '"Rechnung1": true, "Liter1": "'.$rechnung1['Liter'].'", "Entfernung1": "'.$rechnung1['Entfernung'].'", "Richtwert1": "'.$rechnung1['Richtwert'].'", "PpLnetto1": "'.$rechnung1['PpLnetto'].'", "PpLbrutto1": "'.$rechnung1['PpLbrutto'].'", "Gesamtpreis1": "'.$rechnung1['Gesamtpreis'].'"';
} else {
$ergebnissRechnung1 = '"Rechnung1": false';
}
//Rechnung 2
if(strlen($Liter2) > 0 && is_numeric($Liter2)) {
//Variablen Kontrolle
if($LiterAuswahlFeld2!=='Max. Betrag') {$LiterAuswahlFeld2="Liter";}
switch ($AB2) {
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
break;
default:
$AB2=1;
break;
}
switch ($Raten2) {
case 1:
$Raten2=0;
break;
case 2:
$Raten2=1;
break;
case 3;
$Raten2=2;
break;
default:
$Raten2=0;
break;
}
if($Oel2!=='Premium Heizöl') {$Oel2="Heizöl EL";}
//Werte berechnen
$rechnung2=preisrechner($Liter2, $LiterAuswahlFeld2, $AB2, $Raten2, $ortwert, $Oel2, $vkp);
//Ausgabe für Rechnung
$ergebnissRechnung2 = '"Rechnung2": true, "Liter2": "'.$rechnung2['Liter'].'", "Entfernung2": "'.$rechnung2['Entfernung'].'", "Richtwert2": "'.$rechnung2['Richtwert'].'", "PpLnetto2": "'.$rechnung2['PpLnetto'].'", "PpLbrutto2": "'.$rechnung2['PpLbrutto'].'", "Gesamtpreis2": "'.$rechnung2['Gesamtpreis'].'"';
} else {
$ergebnissRechnung2 = '"Rechnung2": false';
}
//Rechnung 3
if(strlen($Liter3) > 0 && is_numeric($Liter3)) {
//Variablen Kontrolle
if($LiterAuswahlFeld3!=='Max. Betrag') {$LiterAuswahlFeld3="Liter";}
switch ($AB3) {
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
break;
default:
$AB3=1;
break;
}
switch ($Raten3) {
case 1:
$Raten3=0;
break;
case 2:
$Raten3=1;
break;
case 3;
$Raten3=2;
break;
default:
$Raten3=0;
break;
}
if($Oel3!=='Premium Heizöl') {$Oel3="Heizöl EL";}
//Werte berechnen
$rechnung3=preisrechner($Liter3, $LiterAuswahlFeld3, $AB3, $Raten3, $ortwert, $Oel3, $vkp);
//Ausgabe für Rechnung
$ergebnissRechnung3 = '"Rechnung3": true, "Liter3": "'.$rechnung3['Liter'].'", "Entfernung3": "'.$rechnung3['Entfernung'].'", "Richtwert3": "'.$rechnung3['Richtwert'].'", "PpLnetto3": "'.$rechnung3['PpLnetto'].'", "PpLbrutto3": "'.$rechnung3['PpLbrutto'].'", "Gesamtpreis3": "'.$rechnung3['Gesamtpreis'].'"';
} else {
$ergebnissRechnung3 = '"Rechnung3": false';
}
//Rückgabe
$ergebniss= '{"success": true, '.$ergebnissRechnung1.', '.$ergebnissRechnung2.', '.$ergebnissRechnung3.'}';
echo $ergebniss;
} else {
header('HTTP/1.1 400 Bad Request', true, 400);
echo "Der Name und die Literanzahl von wenigstens einer Rechnung muss ausgefüllt sein.";
}
} else {
header('HTTP/1.1 400 Bad Request', true, 400);
echo "Etwas ist seltsam!";
}
} else {
header('HTTP/1.1 400 Bad Request-1', true, 400);
echo "Das Feld darf nicht leer sein!";
}
?>
感謝所有幫助!
很好的答案,不能更好地解釋它自己。 – McStuffins
感謝您的回答!我添加'dataType:「json」'到$ .ajax並創建一個數組,我用這個命令填充'$ ergebniss ['PpLnetto3'] = $ rechnung3 ['PpLnetto'];'最後我發送該數組與echo'json_encode($ ergebniss);'現在我在控制檯中沒有任何結果,沒有錯誤警報和沒有響應。我有後續錯誤嗎? – Faror
@Faror你應該檢查開發人員工具中的響應,如果你沒有得到任何東西,很可能返回的結果是無效的json,你會去javascript中的錯誤處理程序。你是否也在迴應別的什麼? – jeroen