2017-08-07 2 views
0

J'ai donc une boîte de saisie HTML qui appelle une fonction javascript après avoir cliqué sur un bouton de soumission. Je veux envoyer les données que l'utilisateur entre dans cette boîte de saisie à mon serveur de tornade. Je suis très nouveau dans tout cela, et j'ai essayé quelques options différentes mais aucune n'a semblé fonctionner. Avec ce code, j'obtiens une erreur 405 (méthode non autorisée). Voici ce que j'ai en ce moment:Comment envoyer une chaîne à mon serveur en utilisant JSON? (tornade)

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' 
    }); 
} 

Et voici mon script tornade:

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() 

Je vais avoir besoin d'utiliser la chaîne dans certains scripts python côté serveur, mais en ce moment Je voudrais juste le voir imprimer sur la console lorsque l'utilisateur clique sur Envoyer. Toute aide serait grandement appréciée. En outre, si vous pouvez expliquer en termes ELI5 quelque peu ce serait cool.

Répondre

0

Vous envoyez des données comme la demande de poste de front-end à l'itinéraire de l'index, vous devez définir une méthode de poste à l'intérieur de la classe MainHandler. Veuillez vous reporter à cette documentation here.