0
Ich versuche, Jquery Autocomplete mit Wordpress, aber ich verstehe nicht, wo mein Fehler 500 in meinem Code:JQuery Autocomplete zurückkehren Interner Serverfehler
Ich denke, die meinen Code in php.
$('#search_type_fiche').autocomplete({
source: function(search, response) {
$.ajax({
type: 'POST',
dataType: 'json',
url: MyAjax.ajaxurl,
data: 'action='+MyAjax.action+'&search='+search.term,
success: function(data) {
response($.map(data, function(item) {
return {
label: item,
value: item
}
}));
//$("p#resultat").html(response(data));
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$("div#ajax-response").removeClass().addClass('error').html('error');
}
});
console.log(data);
}
});
Rückruf php:
public $search;
public function __construct()
{
global $wpdb;
$this->wpdb = $wpdb;
}
public function SearchTypeFiche($search){
$this->search = $search;
$datas = $wpdb->get_results(
$wpdb->prepare(
"SELECT slug,id FROM {$this->wpdb->prefix}fiches_type WHERE slug LIKE %s",
$this->esc_like(stripslashes($this->search)).'%'
)
);
$results = array();
foreach($datas as $key){
$arr = array();
$arr['label'] = addslashes($key->slug);
$arr['value'] = $key->id;
$results[] = $arr;
};
return json_encode($results);
}
$data_search = $_POST['search'];
parent::SearchTypeFiche($data_search);
Thx für die Hilfe!
ps: i in Stackoverflow gesucht, aber keine Beiträge mein Problem lösen ..
Wie und wo 'MyAjax' definiert werden? – Pyromonk
Wordpress ajax: var MeineAjax = {"ajaxurl": "https: \/\/******** \/wp-admin \ /admin-ajax.php", "aktion": "search_type_fiche", " nonce ":" 1e65627d9d "}; – Unmecparla
Sie sollten wahrscheinlich auch die Nonce zensieren. Wie lauten die Berechtigungen für die von Ihnen angegebene Seite? Warum entkommt "ajaxurl" Schrägstriche (warum haben Sie vor jedem Schrägstrich einen Backslash gesetzt)? Können Sie die Seite manuell aufrufen? – Pyromonk