Hallo!
Ich habe bereits zuvor Fragen zu einem derartigen Fall gestellt. Dort ging es darum, zwei JS-Arrays zu einem JSON Objekt umzuwandeln.
Ziel ist es nun, dieses JSON Objekt von meinem Java Script Teil an ein Java-Programm zu senden.
Mir wäre es wichtig hier zu erfahren was ich dafür brauche.
Zum Beispiel:
Geht es über POST und GET?
Das Objekt in Java anzunehmen sollte kein Problem sein. Dafür gibt es unzählige Tutorials.
Die Verbindung zwischen der Webseite (Java Script) und meinem Java Programm soll hier thematisiert werden.
Wie gehe ich mein Problem an?
Mein aktueller Stand:
HTML Code:
<html>
<header>
<link href="standard.css" rel="stylesheet"/>
<script language="javascript" type="text/javascript" src="rechenscript.js"></script>
<title>
Cocktailseite
</title>
</header>
<body>
<!--
DropDown
-->
<nav>
<ul>
<li><a href="#" title="Nach Hause">Home</a></li>
<li class="submenu"><a href="#" title="nix">Regeln</a>
<ul>
<li><a href="#" title="Ihr Inventar">Spielregeln</a></li>
<li><a href="#" title="Unsere Auswahl">Verhaltensregeln</a></li>
</li>
</ul>
</li>
<li><a href="#" title="Ueber uns">Shop</a></li>
<li><a href="#" title="So erreichen Sie uns">Logout</a></li>
</ul>
</nav>
<div class:"Banner">
<img src="Banner.jpg" />
</div>
<h2>Unsere Cocktails </h2>
<form name="liste">
<ul class="Getraenkeliste">
<li class="auflistung">Cuba Libre<input type="checkbox" name="CubaLibre" id="getrank1" value="6.80" onclick="calcPrice()" class="getraenk"> </li>
<li class="auflistung">Sex on the Beach<input type="checkbox" name="SexOnTheBeach" id="getrank1" value="7.20" onclick="calcPrice()" class="getraenk"></li>
<li class="auflistung">Caipirinha<input type="checkbox" name="Caipirinha" id="getrank1" value="7.50" onclick="calcPrice()" class="getraenk"></li>
<li class="auflistung">Mochito<input type="checkbox" name="Mochito" id="getrank1" value="8.00" onclick="calcPrice()" class="getraenk"></li>
<li class="auflistung">Apple Teenie<input type="checkbox" name="AppleTeenie" id="getrank1" value="8.20" onclick="calcPrice()" class="getraenk"></li>
<li class="auflistung">Old Pesces<input type="checkbox" name="OldPesces" id="getrank1" value="9.00" onclick="calcPrice()" class="getraenk"></li>
<li class="auflistung">Tropic Thunder<input type="checkbox" name="TropicThunder" id="getrank1" value="8.40" onclick="calcPrice()" class="getraenk"></li>
</ul>
</form>
<div id="preisfeld">
<p>0.00</p>
</div>
<input type="submit" name="Bestellbutton" value="Bestellen" onclick="bestellung()">
</html>
Alles anzeigen
JAVA SCRIPT:
var summe=0.0;
var i;
function calcPrice()
{
var betrag=0.0;
var betragf=0.0;
var gecheckteBoxen=[];
var gecheckteBox;
var endsumme=0.0;
for(i=0;i<document.liste.length;i++)
{
if(document.liste.elements[i].checked)
{
/*rechnung*/
gecheckteBox = document.liste.elements[i].name;
String(gecheckteBox);
/*namen speichern*/
betrag = document.liste.elements[i].value;
/*betrag speichern*/
Number(betrag);
Number(summe);
summe=parseFloat(summe) + parseFloat(betrag);
}/*ende if*/
}/*ende for*/
/*Ausgabe*/
var element = document.getElementById("preisfeld");
if(summe===0)
{
element.innerHTML = "0.00"+"€";
}
else {
parseFloat(summe);
summe.toFixed(2);/* warum funktioniert das nicht*/
var summeS=String(summe);
/*Ausgabe */
element.innerHTML = String(summe)+ "0" + "€"; //0 wird angefügt, weil toFixed() nicht funktioniert
endsumme=summe;
summe=0;
betrag=0;
betragf=0;
}
return endsumme;
}
function bestellung()
{
var preisDerBox;
var preisDerBoxen=[];
var bestellung=[];
var endsumme=0.0;
var name;
var k=0;
let object;
var sendeObjekt;
endsumme=calcPrice();
for(i=0;i<document.liste.length;i++)
{
if(document.liste.elements[i].checked)
{
/*rechnung*/
gecheckteBox = document.liste.elements[i].name;
bestellung.push(gecheckteBox);
preisDerBox = document.liste.elements[i].value;
parseFloat(preisDerBox);
preisDerBoxen.push(preisDerBox);
bestellungJSON = {name: bestellung , preis: preisDerBoxen ,gesamtpreis: endsumme};
object = JSON.stringify(bestellungJSON);
sendeObjekt = JSON.parse(object);
// bestellungsListe.push({name: gecheckteBox, preis: preisDerBox})
//JSON erstellen
//let json = JSON.stringify(bestellung);
}/*ende if*/
}/*ende for*/
/* bestellung speichert alle namen */
/*endsumme speichert den Preis */
}
window.addEventListener("load", calcPrice());
Alles anzeigen
Mit Hilfe eines anderen Threads und einigen Korrekturen und Hilfen konnte ich bereits ein JSON Objekt erstellen.
Gewünschter Ablauf wäre also :
JavaScript erstellt JSON Objekt -> Objekt wird transportiert -> Java Programm empfängt JSON und wandelt es um.
Der nächste Schritt wäre dann bidirektional zu kommunizieren. Aber eins nach dem anderen.
LG !