python - python flask和jquery $.ajax错误:函数不只从flask返回错误消息 INTERNAL SERVER ERROR
问题描述
在烧瓶中,我返回简单的 json 字符串,如下所示:如果出现错误:
来自此的异常:
try:
self.data.add('data', self.request.data)
except Exception as err:
print(traceback.format_exc())
return _build_response_json()
_build_response_json() 函数返回字符串 json 如下所示:
得到这个异常/回溯:
Unable to display children:Error resolving variables Traceback (most recent call last):
File "C:\app\base.py", line 73, in get_name
self.data.add('data', self.request.data)
AttributeError: 'ObjRequest' object has no attribute 'data'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.2\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_resolver.py", line 213, in resolve
return dict[key]
KeyError: 'Exception'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.2\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 1195, in do_it
_typeName, val_dict = pydevd_vars.resolve_compound_variable_fields(self.thread_id, self.frame_id, self.scope, self.attributes)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.2\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_vars.py", line 281, in resolve_compound_variable_fields
var = getVariable(thread_id, frame_id, scope, attrs)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.2\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_vars.py", line 239, in getVariable
var = resolver.resolve(var, k)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.2\plugins\python-ce\helpers\pydev\_pydevd_bundle\pydevd_resolver.py", line 215, in resolve
return getattr(dict, key)
AttributeError: 'dict' object has no attribute 'Exception'
json:
def _build_response_json()
retur_json = {
"status": "error",
"title": "error",
"message": "this is error massage from server",
"type": "error",
"status": 500,
"id": "xxxxxi"
}
json_str = json.dumps(retur_json)
return json_str
但是在客户端,当我不断收到错误时: res.status = 500
error = INTERNAL SERVER ERROR
options = error
$.ajax({
type: "POST",
url: "/execute",
data: data,
success: function (res) {
....
},
error: function (res, options, error) {
console.log(res.status);
console.log(error);
console.log(options);
}
});
我在这里做错了什么?
解决方案
推荐阅读
- gerrit - 如何使用新补丁集在 Gerrit 中保留批准
- c++ - 使用 boost 套接字禁用 TIME_WAIT
- python - 如何找到 DBSCAN 的最佳参数?
- python-3.x - 尝试使用 tkinter gui 停止 Python 语音识别循环
- javascript - 范围问题 - 在回调中更改数据正在更改更高范围
- java - 我可以使用Android studio进行纯JAVA开发吗
- date - cron 作业在日期时间格式上失败
- swift - 如何在 SwiftUI 中选择性地传入绑定?
- c - 将指针分配给结构 C 时出现分段错误
- excel - 如何从文件夹中的最后两个excel文件打开,复制,粘贴和关闭