#javascript #jquery #ajaxform
#javascript #jquery #ajaxform
Вопрос:
Я создаю фильтр с помощью checkbox и смог это сделать. Однако моя проблема заключается в том, как я могу назначить цикл предварительной загрузки по умолчанию без отправки формы в #response. Выполнение приведенного ниже скрипта вернет цикл. Я пытаюсь изучить ajax, но в PHP логика была бы примерно такой
$response = 'myloop';
echo $response; // display the default loop
if ($search == 'true') {
$response = 'mynewloop'; // change the default loop
}
else {
$response = 'myloop'; // return to default loop
}
это мой ajax jquery
jQuery(function($){
$('#filter').submit(function(){
var filter = $('#filter');
$.ajax({
url:filter.attr('action'),
data:filter.serialize(), // form data
type:filter.attr('method'), // POST
beforeSend:function(xhr){
filter.find('button').text('Processing...'); // changing the button label
},
success:function(data){
filter.find('button').text('Apply filter'); // changing the button label back
$('#response').html(data); // insert data
}
});
return false;
});
});
Комментарии:
1. Действительно не ясно, что вам нужно выполнить здесь, прежде чем произойдет отправка. Расскажите нам, какую проблему более высокого уровня вам нужно решить
2. я просто хочу загрузить цикл в #response без запуска какого-либо события. В настоящее время цикл будет загружен только в том случае, если произойдет событие запуска. Я хотел сначала показать стандартный цикл (показывающий все), и когда произойдет событие, этот цикл изменится
3. Другими словами, выполнять тот же ajax-запрос при загрузке страницы? Все еще немного расплывчато
4. да, сэр, это правильно
5. Таким образом, вы могли бы отправить что-то вроде
data:{pageload: true}
и проверить$_POST['pageload']
и отправить соответствующий ответ