如何使用JSON将字符串发送到我的服务器? (龙卷风)

时间:2017-08-07 18:28:32

标签: javascript jquery python json tornado

所以我有一个HTML输入框,在单击提交按钮后调用javascript函数。我想将用户在该输入框中输入的数据发送到我的龙卷风服务器。我对这一切都很陌生,并尝试了一些不同的选择,但似乎没有任何工作。使用此代码,我得到405(方法不允许)错误。这就是我现在所拥有的:

var myData = hello

function pushURL(){

    var passThis = {
        apples : myData
    }

    $.ajax({
        url: "/",
        type: 'POST',
        contenttype: 'application/json; charset=utf-8',
        data : JSON.stringify(passThis),
        dataType: 'JSON'
    });
}

这是我的龙卷风剧本:

import tornado.ioloop
import tornado.web
import json

#Utility libraries
import os.path

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render('index.html')

#This tells tornado where to find static files
settings = dict(
    template_path = os.path.join(os.path.dirname(__file__), "templates"),
    static_path = os.path.join(os.path.dirname(__file__), "static"),
    debug = True
)

# r"/" == root website address
application = tornado.web.Application([
    (r"/", MainHandler)
],**settings)

#Start the server at port n
if __name__ == "__main__":
    print('Server Running...')
    print('Press ctrl + c to close')
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

我将需要在某些服务器端python脚本中使用该字符串,但是现在我只是想在用户单击提交时将其打印到控制台。任何帮助将不胜感激。另外,如果你能用ELI5来解释那些很酷的话。

1 个答案:

答案 0 :(得分:0)

您正在将数据作为发布请求从前端发送到索引路由,因此您必须在MainHandler类中定义post方法。 请参阅此文档here