python - flask框架中在jinja2模板中調用視圖函數但是不想重定向怎么辦
問題描述
我想調用視圖函數delete,但是不想重定向到delete這個頁面可以實現嗎?
問題解答
回答1:按照我的理解我覺得你是想刪除的時候不刷新頁面,如果是這樣那就要用一下ajax了,用ajax把id傳給相關的處理視圖,然后在視圖里面獲取傳過來的id把它刪掉,代碼:
function deleteUser(userid) { var post_data = {’userid’: userid, } $.ajax({type: 'POST',url: '/deleteuser',data: JSON.stringify(post_data, null, ’t’),contentType: ’application/json;charset=UTF-8’,success: function(result) { // 傳完數據之后做某些處理 ...} });}
在flask里面的視圖:
@main.route(’/deleteuser’, methods=[’POST’])def delete_user(): if request.method == ’POST’:user_id = request.json[’userid’]user = User.query.get_or_404(user_id)db.session.delete(user)db.session.commit()return ’OK’// 這里你返回你要在頁面上更新的數據,用來在上面的ajax里面的success部分做處理
這樣可以實現不刷新頁面刪除指定的用戶
回答2:如果不想跳轉,可以考慮使用 AJAX 方式訪問刪除動作的 URL,刪除完成之后,再刷新當前頁面。
你使用的跳轉的方式,一般刪除完了之后要跳回到當前頁面,以便顯示最新的結果
相關文章:
1. javascript - 使用form進行頁面跳轉,但是很慢,如何加一個Loading?2. javascript - ES6規范下 repeat 函數報錯 Invalid count value3. python 計算兩個時間相差的分鐘數,超過一天時計算不對4. angular.js - angularjs 注入模塊報錯 很怪異... 求解惑5. javascript - JS 里面的 delete object.key 到底刪除了什么?6. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?7. mysql - 電商如何存儲營業額數據8. java如何生成token?9. html5 - 為什么使使用vue cli 腳手架,post-css 沒有自動對css3屬性自動添加瀏覽器前綴呢?10. javascript - html5的data屬性怎么指定一個function函數呢?
