好的,我在我的项目中使用 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/