我有一个应用程序,我想放在登录页面后面。我在加载的登录页面上通过ajax接收登录信息,然后我想根据用户加载一些数据并将它们呈现给新页面。我也使用jinja2根据用户数据渲染javascript。
@cherrypy.expose
@cherrypy.tools.json_out()
@cherrypy.tools.json_in()
def get_data(self):
result = {"operation": "request", "result": "success"}
input_json = cherrypy.request.json
value = input_json["anno"]
print value
return result
@cherrypy.expose
@cherrypy.tools.json_out()
@cherrypy.tools.json_in()
def login(self):
result = {"operation": "request", "result": "success"}
input_json = cherrypy.request.json
uname = input_json["uname"]
print uname
tmpl = env.get_template('index.html')
imlist = os.listdir('app/public/clips'+uname)
imlist.sort()
print "loading homepage for user " + uname
imlist = ['static/clips/'+item for item in imlist]
return tmpl.render(salutation='User:', target=uname,image_list=json.dumps(imlist))
login.html
中的登录脚本是:
function enter_login(){
var tb = document.getElementById("scriptBox");
var tbtxt = tb.value;
$.ajax({
url: "login",
type: "POST",
contentType: 'application/json',
data: JSON.stringify({"uname": tbtxt}),
dataType:"json"
});
}
我在这里做错了什么?如何使用给定的jinja参数渲染index.html
?
答案 0 :(得分:0)
我能够通过向AJAX调用添加成功函数来解决这个问题:
success:function(data)
{
if(data!="")
{
$("body").html(data);
}
}