首页 > 代码库 > web(七)--angular从cgi获取数据
web(七)--angular从cgi获取数据
一. cgi用前面小节的req_resp.cpp, 这里略去cgi的编译和部署.
二. 下面的几个文件在同一个目录.
1. index.py 增加两处:
(1)
(r"/index.py/angularjs_cgi", AngularjsCgiHandler)
(2)
class AngularjsCgiHandler(tornado.web.RequestHandler): def get(self): self.render("angularjs_cgi.html")
import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world, this is tornado test!")class StoryHandler(tornado.web.RequestHandler): def get(self, story_id): self.write("You requested the story " + story_id)class TemplateHandler(tornado.web.RequestHandler): def get(self): items = ["Item 1", "Item 2", "Item 3"] self.render("template.html", title="My title", items=items)class AngularjsTestHandler(tornado.web.RequestHandler): def get(self): self.render("angularjs_test.html")class AngularjsCgiHandler(tornado.web.RequestHandler): def get(self): self.render("angularjs_cgi.html")application = tornado.web.Application([ (r"/", MainHandler), (r"/index.py", MainHandler), #(r"/story/([0-9]+)", StoryHandler), (r"/template", TemplateHandler), (r"/index.py/template", TemplateHandler), (r"/index.py/angularjs_test", AngularjsTestHandler), (r"/index.py/angularjs_cgi", AngularjsCgiHandler),])if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
2. angularjs_cgi.html
<!DOCTYPE html><html><body><h2>angularjs_cgi.html</h1><h2>angularjs get data from cgi with https</h2><div ng-app="angularjs_cgi_app" ng-controller="angularjs_cgi_ctrl"> <p>data from angularjs:||data_from_angularjs|| </p> <p>data from cgi:||data_from_cgi|| </p></div></body></html><script src="//www.w3cschool.cc/try/angularjs/1.2.5/angular.min.js"></script><script src="angularjs_cgi.js"></script>
3. angularjs_cgi.js angular利用$http从cgi获取数据, $http的使用google之.
var app = angular.module("angularjs_cgi_app", []);app.config(function($interpolateProvider) { $interpolateProvider.startSymbol(‘||‘); $interpolateProvider.endSymbol(‘||‘);});app.controller("angularjs_cgi_ctrl", function($scope, $http, $timeout, $interval) { $scope.data_from_angularjs = 1234; // data from cgi $scope.data_from_cgi = ‘‘; $scope.get_data = function(){ $http({ method:"GET", url:"/req_resp.cgi?hello=1", data:{ action : "this_is_action", login_name : "zhangsan", } }).success(function(data){ $scope.data_from_cgi = data; }).error(function(){ alert(‘get data from cgi err!‘); setTimeout($scope.get_data(), 4000); }); } $scope.get_data();});
三. http://localhost/angularjs_cgi访问
浏览器显示如下(去除格式了, 其中data_from_cgi即req_resp.cpp返回的内容):
angularjs_cgi.html
angularjs get data from cgi with https
data from angularjs:1234
data from cgi:<H4>PID: 4072</H4> <H4>Request Number: 17</H4> <H4>Request Environment</H4> QUERY_STRING=hello=1
web(七)--angular从cgi获取数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。