So senden Sie Parameter von AJAX in Wählen Sie 2 und Empfangen in PHP ?
Ich versuche, Parameter wie unten zu senden.
let element_id = event.target.id;
let selectEle = cellEle.children("select").select2({
ajax: {
url: "/wp-admin/admin-ajax.php",
dataType: 'json',
data: function (element_id) {
return {
q: element_id,
action: 'get_data'
};
},
type: "post",
processResults: function(data) {
console.log(data);
}
}
});
Ich versuche, Parameter wie unten zu erhalten.
function get_data()
{
echo json_encode($_POST['q']);
die;
}
Ich erhalte ein Ergebnis null
.

Der Name element_id
wird sowohl für eine in der ersten Zeile deklarierte Variable verwendet let element_id = event.target.id;
und als Name des Parameters, den die Datenfunktion verwendet data: function (element_id) {
.
Wenn die Datenfunktion aufgerufen wird, fügt select2 die Parameter von select2 ein element_id
auf die Funktion beschränkt, also hat sie Variablen wie _type
auf ‘Abfrage’ setzen und term
auf den Suchbegriff gesetzt (falls einer eingegeben wurde). Dies ist näher beschrieben unter https://select2.org/data-sources/ajax#request-parameters.
Ich würde vorschlagen, den für die Datenfunktion verwendeten Parameternamen anzupassen. Ich habe es auf aktualisiert params
im Beispiel unten, um mit den Beispielen auf der Website select2 übereinzustimmen. Die element_id
Die in der ersten Zeile gesetzte Variable kann dann zum Übergeben der Daten verwendet werden.
let element_id = event.target.id;
let selectEle = cellEle.children("select").select2({
ajax: {
url: "/wp-admin/admin-ajax.php",
dataType: 'json',
data: function (params) {
return {
q: element_id,
action: 'get_data'
};
},
type: "post",
processResults: function(data) {
console.log(data);
}
}
});
$_POST[‘q’] ist für Formulardaten … Ihre Daten sollten dann so aussehen: “q=”+element_id+”&action=get_data”;
– Schlomtzion
23. Dezember 2021 um 10:31 Uhr
Danke @Shlomtzion. Aber ich sende Daten als POST. Wie kann ich Parameterwerte in PHP erhalten?
– abu abu
23. Dezember 2021 um 10:49 Uhr