我有两个python脚本(由我的讲师提供)。
getchat.py
不接受参数,它会在JSON中返回包含日期,时间,用户和消息的对象表中的所有消息。sendchat.py
接收一条消息,并在JSON中返回一个对象,该对象具有两个字段num,可以是1.0:消息为空或分别成功添加。我想要做的是当用户尝试发送消息时使用sendchat.py
将msg发布到数据库中,然后使用getchat.py
获取所有消息并显示它们。
<div id="chatmsg"></div>
<div id="cwrapper">
<input class="msg" type="text" id="msg" name="msg">
<button id="send">Send</button>
</div>
到目前为止我的jQuery脚本(我使用了一些仅用于尝试的文档)
$("button").click(function() {
$.getJSON('./getchat.py', function(data){
var items = [];
$.each(data, function(d) {
items.push("<li>" + d + "</li>");
});
$("<ul/>", {
html: items.join( "" )
}).appendTo("#chatmsg");
});
$.post("./sendchat.py", { msg: $("#msg").val() }, function(data, status) {
// I don't know how to deal with this.
});
});
每次按下发送时,我得到的是一个列表0,1,2,...
。该列表出现半秒钟后消失。我哪里做错了?我该如何正确实现?谢谢大家!
答案 0 :(得分:0)
使用准备好进行聊天
$( document ).ready(function() {
$.getJSON('./getchat.py', function(data){
var items = [];
$.each(data, function(d) {
items.push("<li>" + d + "</li>");
});
$("<ul/>", {
html: items.join( "" )
}).appendTo("#chatmsg");
});
});
// this is to post a message
$("button").click(function() {
$.post("./sendchat.py", { msg: $("#msg").val() }, function(data, status) {
// I don't know how to deal with this.
// Get the messages, better if only get the last
$.getJSON('./getchat.py', function(data){
var items = [];
$.each(data, function(d) {
items.push("<li>" + d + "</li>");
});
$("<ul/>", {
html: items.join( "" )
}).appendTo("#chatmsg");
});
});
});
我不尝试这个代码,但你可以成为一个想法
答案 1 :(得分:0)
$.getJSON('./getchat.py', function(data){
//First show the data on your browser inspector NOT EMPTY
console.log(data);
//Later you need parse JSON
var j = JSON.parse(data);
//See in inspector
console.log(j);
//you can display your object and fields
// For example j.message or j[0].message
// A for o foreach like you preffer, something like this
var items = [];
$.each(data, function(d) {
items.push("<li>" + d + "</li>");
});
$("<ul/>", {
html: items.join( "" )
}).appendTo("#chatmsg");
});