【发布时间】:2014-12-17 15:05:30
【问题描述】:
我正在尝试使用 AJAX 将 python 字典返回到视图并从 JSON 文件中读取,但到目前为止我只返回 [object Object],[object Object]...
如果我检查网络流量,我确实可以看到正确的数据。
这就是我的代码的样子。我有一个基于所选 ID(请求参数方法)的类和方法,将打印特定数据。它从 python 酌情获取数据。问题不在这里,已经测试过了。但以防万一我会链接它。
# 创建方向的方法 - 以防万一#
def getCourselist_byClass(self, classid):
"""
Getting the courselist by the class id, joining the two tables.
Will only get data if both of them exist in their main tables.
Returning as a list.
"""
connection = db.session.connection()
querylist = []
raw_sql = text("""
SELECT
course.course_id,
course.course_name
FROM
course
WHERE
EXISTS(
SELECT 1
FROM
class_course_identifier
WHERE
course.course_id = class_course_identifier.course_id
AND EXISTS(
SELECT 1
FROM
class
WHERE
class_course_identifier.class_id = class.class_id
AND class.class_id = :classid
)
)""")
query = connection.engine.execute(raw_sql, {'classid': classid})
for column in query:
dict = {
'course_id' : column['course_id'],
'course_name' : column['course_name']
}
querylist.append(dict)
return querylist
我的 jsonify 路由方法
@main.route('/task/create_test')
def get_courselist():
#objects
course = CourseClass()
class_id = request.args.get('a', type=int)
#methods
results = course.getCourselist_byClass(class_id)
return jsonify(result=results)
HTML
这是输入字段的外观以及它应该链接数据的位置。
<input type="text" size="5" name="a">
<span id="result">?</span>
<p><a href="javascript:void();" id="link">click me</a>
然后我这样称呼它
<script type=text/javascript>
$(function() {
$('a#link').bind('click', function() {
$.getJSON("{{ url_for('main.get_courselist') }}", {
a: $('input[name="a"]').val()
}, function(data) {
$("#result").text(data.result);
});
return false;
});
});
</script>
但每次我在字段中输入一个 ID 号时,我都会得到正确的数据。但它的格式不正确。而是像 [object Object] 一样打印它
来源,以本指南为灵感:flask ajax example
【问题讨论】: