python - 发布 JSON 和 python Flask - 使用 Werkzeug 调试器的任何技术?

标签 python debugging flask werkzeug

好的,我在我的项目中使用 RESTful 后端,并通过 jquery 提交数据。

我必须说 werkzeug 调试器非常适合调试,特别是当你像我一样是一个糟糕的 python 程序员时。您故意在要调查的地方抛出异常,并使用调试器呈现的 html 检查代码和变量。

但是,当您发送 post 请求而不是 get 请求时,如果您在后端代码中抛出异常,浏览器当然不会呈现响应文本。

考虑到它有 javascript 和一切,有什么技术可以用来呈现响应文本吗?

我正在尝试不同的方法,例如尝试将响应文本注入(inject)弹出窗口,例如:

           $.postJSON = function(url, data, callback, error_callback) {
                return jQuery.ajax({
                    'type': 'POST',
                    'url': url,
                    'contentType': 'application/json',
                    'data': JSON.stringify(data),
                    'dataType': 'json',
                    'success': callback,
                    'error': error_callback
                });
            };

            $.postJSON('/the_uri', {'foo': 'bar'}, 
            function(response) {
                var a = 0;
            }, 
            function(response) {
                var html = response.responseText;
                var my_window = window.open('', 'mywindow1', 'width=350,height=150');
                $(my_window.document).find('html').html(html);
            });
        });

但这并不能很好地处理 javascript。

有人有什么建议吗?

最佳答案

您的方法几乎是正确的。我正在使用以下代码在新窗口中打开响应文本(根本不特定于 Werkzeug 或 Flask):

var w = window.open('', 'debug_stuff', 'width=540,height=150');
w.document.open();
w.document.write(response.responseText);
w.document.close();

最后一行是最重要的。没有它,代码将像您的代码一样运行——它不会执行任何 JavaScript,因为浏览器不知道 DOM 已经完全加载。

关于python - 发布 JSON 和 python Flask - 使用 Werkzeug 调试器的任何技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741628/

相关文章:

python - 解析时出现意外的 EOF

python - 如何使用拆分或正则表达式从 python 中的字符串获取子字符串

debugging - Rubymine 调试器在配备 M1 芯片的 Macbook 上失败

python - 在 python 中使用 readlines?第一次

python - FitNesse/Waferslim Tabletable 多行

javascript - 有没有办法将 Visual Studio javascript 断点链接或导出到 Google Chrome?

javascript - react native -调试[对象对象]handleException-Observable

javascript - 使用 javascript 或 jquery 在 session 中存储 Flask 数据

python - 获取 HiddenField 的值并从模板插入它 - Flask

heroku - 我应该如何在 Heroku 上运行 Alembic 迁移?