Ich habe die folgende jquery, die POST-Methode verwendet und HTML-Daten (Kontrollkästchen) aus ajax.php-Datei zurückgibt und gut funktioniert.
Könnten Sie bitte beraten, wie ich die Methode zu .getJSON ändern könnte, damit ich mehrere Arrays aus PHP abrufen kann? Ich bin ziemlich neu im AJAX-Thema und habe schon viele Möglichkeiten ausprobiert, aber nichts hat für mich funktioniert.AJAX - Beitrag zu getJSON ändern
// jquery
$.post('ajax.php', {ZemeArray,MestoArray},function(data) {
$(".CHCB:eq(0)").html(data);
//ajax.php Funktion, die Block html Kontrollkästchen gibt
DisplayFilteredItems("Zeme","Zeme");
ich schon versucht, es wie folgt zu ändern, aber die PHP-Funktion, die HTML-Code zurückgibt falsch ist:
// jquery
$.getJSON('ajax.php', {ZemeArray,MestoArray},function(data) {
$(".CHCB:eq(0)").html(data.a);
$(".CHCB:eq(1)").html(data.b);
//ajax.php Funktion, den Block html Kontrollkästchen gibt
<?php
function AddFilterItem($item)
{
echo "<input type='checkbox' class='checkboxes' value=$item checked>$item<br>";
}
function DisplayFilteredItems($order,$sqlSelect) {
$servername = "localhost";
$username="root";
$password="";
$dbname="coasters";
// create connection
$cxn=mysqli_connect($servername,$username,$password,$dbname);
mysqli_query($cxn,"SET NAMES 'utf8'");
//check connection
if(!$cxn)
{
die("Connection failed");
}
$sqlStart="SELECT DISTINCT";
$sqlquery="
FROM brewary
JOIN city ON brewary.Mesto_ID=city.Mesto_ID
JOIN collection ON brewary.Znacka_ID=collection.Znacka_ID
JOIN country ON country.Zeme_ID=city.Zeme_ID
JOIN type ON brewary.Druh_ID=type.Druh_ID
";
if (isset($_GET['ZemeArray'])===true && empty($_GET['ZemeArray'])===false) {
$ZemeArrayChecked=' WHERE country.Zeme IN '.$_GET['ZemeArray'];
}
else {
$ZemeArrayChecked='';
}
if (isset($_GET['MestoArray'])===true && empty($_GET['MestoArray'])===false) {
$MestoArrayChecked=' WHERE city.Mesto IN '.$_GET['MestoArray'];
}
else {
$MestoArrayChecked='';
}
$sqlWhere=
$ZemeArrayChecked.
$MestoArrayChecked
;
$preorder="ORDER BY ";
$order1=$preorder.$order;
$sql=$sqlStart.' '.$sqlSelect.' '.$sqlquery.' '.$sqlWhere.' '.$order1;
$result = mysqli_query($cxn,$sql);
echo"<input type='checkbox' class='VSE' checked>VYBER VŠE<br>";
//$row=mysqli_fetch_array($result, MYSQLI_ASSOC);
while($row = $result->fetch_array())
{
$row=$row;
$rows[] = $row;
}
foreach($rows as $row)
{
AddFilterItem($row["$sqlSelect"]);
}
$result->free();
mysqli_close($cxn);
$pokus=DisplayFilteredItems("Zeme","Zeme");
}
$pokus2=DisplayFilteredItems("Mesto","Mesto");
echo json_encode('a'=>$pokus, 'b'=>$pokus2);
?>
Haben Sie das PHP-Skript geändert, um '$ _GET' anstelle von' $ _POST' zu verwenden, um die Parameter zu erhalten? – Barmar
Gibt 'DisplayFilteredItems() 'den HTML-Code zurück oder echo es? Sie benötigen es, um den HTML-Code zurückzugeben, damit Sie ihn in ein Array einfügen können. – Barmar
Sie müssen alle relevanten Teile des Codes veröffentlichen. – Barmar