首页 > 代码库 > Jsonp实现跨域请求Ajax

Jsonp实现跨域请求Ajax

客户端

技术分享
#!/usr/bin/env python
import tornado.ioloop
import tornado.web


class MainHandler(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        self.render(index.html)
    def post(self, *args, **kwargs):
        self.render(index.html)



settings ={
    template_path:views,#html文件模板路径配置
    static_path:statics,#css,js文件路径配置
    static_url_prefix:/sss/,
}
application = tornado.web.Application([
        (r"/index", MainHandler),

        ],**settings)
if __name__ == "__main__":
    application.listen(8000)
    tornado.ioloop.IOLoop.instance().start()
app.py
技术分享
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <input type="button" value=http://www.mamicode.com/"Jsonp" onclick="DoJsonpAjax();">
    <script src=http://www.mamicode.com/"{{static_url(‘jquery-3.1.1.js‘)}}"></script>
    <script>
         function xxoo(arg){
            console.log(arg)
        }
        function DoJsonpAjax() {
//            var tag = document.createElement(script);
//            tag.src = http://www.mamicode.com/"http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list";
//            document.head.appendChild(tag);
//
//            document.head.removeChild(tag);
////
            $.ajax({
                url: "http://tao.com:8001/index",
                dataType: jsonp,
                jsonp:callback,//相当于在url: "http://tao.com:8001/index?callback= xxoo",
                jsonpCallback: "xxoo"//相当于在url: "http://tao.com:8001/index?callback= xxoo",
            })
        }
    </script>
</body>
</html>
index.html

服务端

技术分享
#!/usr/bin/env python
import tornado.ioloop
import tornado.web


class MainHandler(tornado.web.RequestHandler):
    def get(self, *args, **kwargs):
        callback = self.get_argument(callback)
        self.write("{}([11,22,33])".format(callback))
    def post(self, *args, **kwargs):
        self.write(t2.post)



settings ={
    template_path:views,#html文件模板路径配置
    static_path:statics,#css,js文件路径配置
    static_url_prefix:/sss/,
}
application = tornado.web.Application([
        (r"/index", MainHandler),

        ],**settings)
if __name__ == "__main__":
    application.listen(8001)
    tornado.ioloop.IOLoop.instance().start()
app.py

 

Jsonp实现跨域请求Ajax