Ich versuche, den ID-Wert des ausgewählten Elements in die search.php-Datei mit POST übergeben. Es funktioniert gut, wenn ich GET verwende, aber nicht funktioniert, wenn ich POST verwende. HierWert übergeben durch POST auf jQuery UI Autocomplete-Ergebnis klicken
ist der Code, den ich habe:
$(function() {
$(".search").autocomplete({
source: function(request, response) {
$.ajax({
url: "/_inc/autocomplete.php",
dataType: "json",
data: {
q: request.term
},
success: function(data) {
response(data);
console.log(data);
}
});
},
minLength: 2,
select: function(event, ui) {
//alert('selected: ' + ui.item.name);
var id = ui.item.id;
$.post("/search.php", {"id": id});
$(location).attr('href', '/search.php');
}
}).data("ui-autocomplete")._renderItem = function(ul, item) {
if(item.label == 'No Match Found'){
return $("<li>")
.data("item.autocomplete", item)
.append(item.value)
.appendTo(ul)
.css("cursor", "default");
} else {
return $("<li>")
.data("item.autocomplete", item)
.append(("<a>" + item.id + " - " + item.name + "</a>"))
.appendTo(ul);
}
};
});
Die Datenquelle wird aus der Datenbank gezogen und konvertiert JSON PHP.
"Funktioniert nicht" ist eine große Aussage. Was ist los? Passiert nicht? Erhalten Sie einen Javascriptfehler? Gehen die Daten zu PHP? Was ist, wenn Sie 'var_dump ($ _ POST);' in der PHP AJAX-Datei? –
Die Daten gehen nicht auf die PHP-Seite. 'var_dump ($ _ POST);' gibt mir 'array (0) {}' .. Es gibt keine JS-Fehler. @cale_b –
@KumaranS Sie können '$ _REQUEST' auf dem Server verwenden, da es beide Parameter enthält, die vom GET und vom POST übergeben wurden - oder entscheiden, ob Sie GET oder POST verwenden. Es ist keine bewährte Methode, sie beide zu verwenden. –