У меня есть слайдер на моей странице и мультиселект из внешних .js
файлов.
Это выглядит так:
введите описание изображения здесь
и код:
div class="container mb-5">
<input type="text" id="length" readonly style="...">
<div id="price-slider"></div>
</div>
<div class="container py-5">
<select id="states" class="form-control" multiple="multiple" style="display: none;">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
</select>
</div>
// Button goes here
Теперь у меня также есть несколько jQuery, которые могут определить, когда кнопка нажимает на мою страницу, и затем получить значения ползунка (как сверху, так и снизу) и массив состояний.
Теперь я хочу использовать flask, чтобы использовать значения, переданные из вызова jquery ajax, чтобы загрузить другой маршрут в мое приложение с этой информацией.
Например, вы можете представить себе, что ползунок предназначен для диапазона цен, а состояние - это состояние, в которое продукт может быть доставлен.
Теперь я попробовал следующее в моем flask маршруте:
@app.route('/filter', methods=['GET', 'POST'])
def filter():
max_price = request.values.get('maxPrice') # from ajax call
min_price = request.values.get('minPrice')
states = request.form.getlist("states[]")
if any(max_price, min_price, states):
filtered_results = # get filtered data
return render_template('results.html', filtered_results=filtered_results)
return render_template('filter.html') # if no information provided then return stay on filter page
Я думал, что страница загрузится, тогда вы можете выбрать состояние, например, нажать кнопку, и вызов ajax вызовет утверждение if, которое будет истинным, и тогда вы будете перенаправлены, но этого не произойдет.
Однако, хотя это и дает всю информацию После вызова ajax он никогда не возвращает 'результаты. html', даже если any()
возвращает true.
Я застрял на том, как заставить мою страницу перенаправить на results.html
когда я нажимаю кнопку с ползунком и состояниями, имеющими значения.
Я также подумал, чтобы попытаться обернуть это в форму, но я не мог понять, как получить значения, переданные из jquery в то же время как отправка формы.
Может кто-нибудь сказать, пожалуйста, как это исправить?