Вопрос о поведении обслуживающего работника. Python Flask - PullRequest
0 голосов
/ 02 августа 2020

Я использую тему веб-сайта, и она поставляется с ссылкой на сервис-работника. js скрипт в базе. js:

if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
    .then(reg => console.log('service worker registered'))
    .catch(err => console.log('service worker not registered - there is an error.', err));
}

Все хорошо.

Я не понимаю, почему иногда кажется, что он передается в мои маршруты в качестве параметра.

   @main_bp.route('/predict/<competition_id>', methods=['GET', 'POST'])

   def predict(competition_id=0):
      form = PredictionForm()
      if form.validate_on_submit(): # WTForms filter for POST
          viewmodels.setPrediction(current_user.id, form.product_id, form.prediction)
          return redirect('Success/{0}', form.competition_id)
      # GET
      viewmodel= viewmodels.predict(competition_id, current_user.id)
      return render_template('predict.html', viewmodel=viewmodel, form=form)

GET выполняется нормально, параметр competition_id передается правильно, и страница отображается так, как ожидалось, но затем я ловлю второе посещение маршрута, чего я не ожидал. На этот раз переданный параметр - «service-worker. js».

Почему маршрут вызывается дважды? Если я закомментирую сценарий, маршрут будет посещен один раз. Однако я хочу знать, что здесь происходит, а не тупо избавляться от чего-то, что может пригодиться в будущем.

...