我想在昵称搜索栏中添加自动完成功能。我不明白为什么它不能工作。我的代码正确吗?
在我的文件liste.php中
global $wpdb;
$name = $_POST['code_postal'];
$sql = $wpdb->get_results("SELECT * FROM membres WHERE pseudo LIKE '$name%' ");
$titles = array();
foreach($sql as $key=> $value){
echo $value->pseudo;
}
echo json_encode($titles); //encode into JSON format and output在我的global.js
$('#recherche').autocomplete({
source: function(name, response) {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'wp-content/themes/ARLIANE/liste.php',
data: 'action=get_listing_names&name='+name,
success: function(data) {
response(data);
}
});
}
});在我的index.php
<form>
<input type="text" name="term" id="recherche"/>
</form>
发布于 2017-05-24 23:17:25
您可以尝试将ajax错误记录到控制台,以获取有关该问题的更多信息,如下所示:
$.ajax({
type: 'POST',
dataType: 'json',
url: 'wp-content/themes/ARLIANE/liste.php',
data: 'action=get_listing_names&name='+name,
success: function(data) {
response(data);
},
error: function(xhr, textStatus, error){
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});发布于 2017-05-25 00:09:35
尝试通过添加页面来更改js代码中的URL,并将文件liste.php关联为自定义页面类型,然后添加页面URL:
url: '<?php echo get_permalink(page_id); ?>',发布于 2017-05-26 17:31:08
如果我包含liset.php,这将返回一个表json。但是,当我进行ajax调用时,它返回一个错误500。
我认为问题来自使用自动完成函数的jquery调用。
https://stackoverflow.com/questions/44162060
复制相似问题