我正在开发 Flask 应用程序。我的视图之一包含动态创建的元素。为了收集值并将它们写入我的 MongoDB 数据库,我创建了一个 JS 脚本来遍历元素并将值提取到 JS 变量。之后,我通过 AJAX $.post()方法将它们发布到我的 Flask 后端。该部分工作正常,但是当到达函数末尾时@app.route,我尝试重定向到另一个登录页面,出现以下错误:
混合内容:“ https://cocktail-recipe-book-gabyguedezh.c9users.io/get_add_cocktail_form ”页面是通过 HTTPS 加载的,但请求了不安全的 XMLHttpRequest 端点“ http://cocktail-recipe-book-gabyguedezh.c9users ” .io/get_my_recipes '. 该请求已被阻止;内容必须通过 HTTPS 提供。
POST 本身被执行,并且表单将文档发送到我的数据库,但是,重定向没有发生。
整个后端路由如下所示:
@app.route('/write_to_cocktail_database', methods=['POST'])
def write_to_cocktail_database():
recipes = mongo.db.recipes
recipes.insert_one(request.json)
return redirect(url_for('get_my_recipes'))
Run Code Online (Sandbox Code Playgroud)
为了以防万一,AJAX 函数如下所示:
$.ajax({
url: formUrl,
// data: {'data': steps},
data: JSON.stringify({recipe_name, recipe_url, recipe_description,
recipe_image, is_vegan, ingredients, steps,
base_spirit, cocktail_type, flavour_profile,
author_name, recipe_rating, number_of_votes}, null, '\t'),
type: 'POST',
contentType: 'application/json;charset=UTF-8',
success: function(response) {
console.log('success');
},
error: function(error) { …Run Code Online (Sandbox Code Playgroud)