Мой сервер возвращает ответ на xhr запрос, но функция xhr.responseText не получает ответ от сервера.
Ответ от сервера приходит в формате HTML.
<script language="JavaScript">
window.onload = function(){
var inp_message = document.querySelector('input[name=message_inp]');
document.querySelector('#go').onclick = function() {
var params = 'message=' + inp_message.value;
ajaxPost(params, "cgi-bin/message_input.py");
}
}
function ajaxPost(params, action){
var xhr = new XMLHttpRequest();
xhr.open("POST", action, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(params);
output = xhr.responseText;
return output;
}
window.setInterval(function(){
var id_message = document.querySelector('p:first-child');
var params = 'id=' + id_message.id;
builder = ajaxPost(params, "cgi-bin/message_output.py");
console.log(builder);
//document.querySelector('#text_holder').innerHTML = builder;
}
,10000);
</script>
#!/usr/bin/env python
import cgi
import sqlite3
form = cgi.FieldStorage()
id = form.getfirst("id")
conn = sqlite3.connect("chat_database.db")
cursor = conn.cursor()
messages = cursor.execute("SELECT * FROM chat WHERE id > ?", (id, ))
conn.commit()
print("Content-type: text/html\n")
if messages != "":
for message in messages:
print("<p id="+str(message[0])+">"+"Test"+"</p>")