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 - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。2. javascript - [js]為什么畫布里不出現圖片呢?在線等3. java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的4. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變5. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?6. java 中Long 類型如何轉換成Double?7. javascript - 有什么比較好的網頁版shell前端組件?8. html - vue項目中用到了elementUI問題9. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?10. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?
