我是javascript的新手,这个问题可能很简单,但我需要帮助。 我的目标是根据龙卷风向python服务器发送帖子。
在以下功能中:
var machin = $.post( '/room/testroom', function( data ) {
truc = data;
return truc;
我永远不会回复truc
的内容。
这个变量里面有一个url,用于创建一个新的Websocket连接。
当我console.dir(machin);
时,我在控制台中看到了想要的网址所需的responseText
,但我无法在控制台之外获取它。
函数内部的变量数据本身有我想要的数据,就好像我这样做:
alert(data)
我看到一个包含想要网址的提示框。
请随时向我询问详情,因为我可能不完全清楚。
服务器端,我的python代码就是这个:
def post(self, RoomName):
print 'je poste'
db = connect(host=config.SQLSERVER, user=config.SQLUSER, passwd=config.SQLPASS, db=config.SQLDB)
cursor = db.cursor()
uri = self.request.uri
url = uri.split('/')
RoomName = url[2]
sql = 'SELECT RoomID FROM abcd_un WHERE RoomName = %s', [RoomName]
cursor.execute(*sql)
RoomID = cursor.fetchone()
print 'RoomID', type(RoomID)
RoomID = str(RoomID[0])
RoomID = RoomID.decode()
fullurl = 'ws://' + self.request.host + '/socket/' + RoomID
#print uri
db.close()
wsurl = {
'url': fullurl,
}
wsurl_encoded = tornado.escape.json_encode(wsurl)
self.write(wsurl_encoded)
答案 0 :(得分:0)
尝试:
var machin = function (){
$.post( '/room/testroom', function( data ) {
truc = JSON.parse(data);
return truc;
}
现在调用函数:
var response = machin();
答案 1 :(得分:0)
尝试:
txt_input.value