Есть довольно много похожих проблем, которые я мог найти, но ничего не помогло, поэтому я должен опубликовать собственную версию этого вопроса.Wordpress Ajax возвращает '0'
У меня есть 2 PHP файлы:
- playing.php (содержит веб-форму и отправляет Аякса вызов)
- plug_search.php (имеет код обработки формы)
Перед Я начал пытаться использовать ajax, обработка формы работала отлично, запрос работал как ожидалось, и правильный результат был возвращен на основе параметров поиска. Теперь я хочу использовать ajax, поэтому результаты возвращаются на одну страницу и всегда возвращают «0». Я попробовал (кажется) все, что мог, исключил наиболее вероятные причины (неправильная функция/имя вызова) - не повезло. Чувствует, что чего-то очень простого не хватает, я подозреваю, что проблема заключается в объявлении функции, но не может понять, что не так (кажется, что вызов никогда не достигает функции обработки в plug_search.php). Я удалил весь код запроса и просто попытался вернуть простую строку - то же самое «0». Если бы вы могли помочь, я был бы признателен за это!
playing.php
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
function search(){
var plug=$("#autocomplete-dynamic").val();
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
if(plug!==""){
$("#result").html();
$.ajax({
type: "GET",
url: ajaxurl,
data: {
action: 'ajax_return_search_results',
plug: 'country'
},
success:function(data){
alert(data);
}
});
}
}
$("#button").click(function(){
search();
});
$('#search').keyup(function(e) {
if(e.keyCode == 13) {
search();
}
});
});
</script>
plug_search.php
<?php
add_action('wp_ajax_ajax_return_search_results', 'myajax_return_search_results');
add_action('wp_ajax_nopriv_ajax_return_search_results', 'myajax_return_search_results');
function myajax_return_search_results() {
echo "Success";
die();
}
?>
plug_search.php - Полная версия
function myajax_return_search_results() {
$value = $_GET['plug'];
$value2 = $_GET['country'];
$sql = "SELECT name, image_url, amazon_url, plug_type FROM adapters_list WHERE plug_type = '$value' AND country LIKE '%$value2%'" or die("Error in the consult.." . mysqli_error($link));
$result = $link->query($sql);
while($row = mysqli_fetch_array($result)) { ?>
<div id="output-product" style="border: 1px solid #333; font-family: Helvetica, sans-serif; font-size: 20px;"><?php echo $row["name"] . "<br />";?>
<?php echo "</div>";
die();
}
Вы уверены, что ваш файл 'plug_search.php' загружается в wo среда rdpress? –
проверить это http://codex.wordpress.org/AJAX_in_Plugins –
Не 100% уверены, что вы подразумеваете под «загрузкой в среде WordPress», но я работаю с веб-сайтом Wordpress, и эти два файла находятся в пользовательской папке плагина I я строю. – Kirill