我正在使用网站主题,它带有对base.js中的service-worker.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”。
为什么两次调用该路由?如果我注释掉脚本,则仅访问该路线一次。但是,我想知道这里发生了什么,而不是仅仅愚蠢地摆脱将来可能有用的东西。