tornado和ajax交互

xiaoxiao2021-02-27  324

tornado和ajax交互:

$(function () { $('#htmlid1').click(function () { var a = $('#htmlid2').val(); $.ajax({ type: "post", dataType: "json", url: "/any", data: { a:a }, success: function (res_data) { if (res_data) { $('#htmlid3').show() } } }, error: function () { alert("failed") } }); }); }); class SearchHandler(tornado.web.RequestHandler): def post(self): itemname=self.get_argument('a') resvalue={'ab':abw','cd':'cdw'} self.write(json.dumps(resvalue)) ajax里定义了数据格式后,tornado如何解析数据都行,只要满足自己的需要,但是返回的数据也一定要满足ajax定义的数据格式,否则ajax解析不了就不会执行success后的函数。

由于tornado强大的网页模板渲染能力,就可以把一些本来靠ajax渲染的工作交给tornado来完成,此时tornado需要调用self.render方法。

此时如果也要jquery来渲染前端页面的话,可以将参数放在网页模板里:

{% block head %} <script type="text/javascript" > var to_jquery_data={%raw tornado_render_data%} </script> {% end %} 把相关参数用render方法渲染到模板里,同时记得加raw避免转义即可。

转载请注明原文地址: https://www.6miu.com/read-2637.html

最新回复(0)