joh*_*son 9 python debugging werkzeug flask
好吧,我正在使用我的项目的RESTful后端,并通过jquery提交数据.
我必须说werkzeug调试器非常适合调试,特别是当你是一个像我这样可怕的python程序员时.您出于意图调查异常,并使用调试器呈现的html检查代码和变量.
但是,当您发送post请求而不是get时,如果在后端代码上抛出异常,当然浏览器将不会呈现响应文本.
有什么技术可以用来呈现响应文本,考虑到它有javascript和一切吗?
我正在尝试不同的事情,例如尝试将响应文本注入弹出窗口,例如:
$.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);
});
});
Run Code Online (Sandbox Code Playgroud)
但这不会很好地处理JavaScript.
有没有人有任何建议?
你的方法几乎是正确的。我使用以下代码在新窗口中打开响应文本(根本不特定于 Werkzeug 或 Flask):
var w = window.open('', 'debug_stuff', 'width=540,height=150');
w.document.open();
w.document.write(response.responseText);
w.document.close();
Run Code Online (Sandbox Code Playgroud)
最后一行是最重要的。如果没有它,代码的行为将与您的代码一样——它不会执行任何 JavaScript,因为浏览器不知道 DOM 已完全加载。