Вот как выглядит структура файла для моего проекта.Voice, Text и Template являются папками.
![Folder structure for my project:](https://i.stack.imgur.com/9un9X.png)
Я запускаю python app.py
, и когда я иду на localhost http://0.0.0.0:8080/
, я вижу index.html
страница с контентом, переданным app.py
.
В index.html
есть текст, который поступил из voice.txt
, и если я смотрю voice.txt
в моем текстовом редакторе, я вижу, что цикл в app.py
успешно добавляет к нему больше текста каждые 20секунд.
Проблема, с которой я столкнулся, заключается в попытке получить обновленный текст voice.txt
в тексте index.html
.Я пытаюсь сделать это с XMLHttpRequest.Вот соответствующий код из тега в index.html
:
function UpdateText() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200) {
// Code goes here
document.getElementById("main").innerHTML = this.responseText;
console.log(statusText);
console.log(responseText);
}
};
xhttp.open("GET", "../Text/voice.txt", true);
xhttp.send();
};
Когда я запускаю, index.html
отображается правильно, но когда он пытается обновить текст, я получаю следующее сообщение об ошибке в терминале:
127.0.0.1:64013 - - [28/May/2019 00:55:10] "HTTP/1.1 GET /Text/voice.txt" - 404 Not Found
Я могу ошибаться, но на данный момент я уверен, что путь к файлу в xhttp.open()
должен быть URL-адресом (это первый раз, когда я использую XMLHttpRequest и каждый учебник, который я виделпросто имеет имя файла и ничего больше), в этом случае я не уверен, как я буду ссылаться на voice.txt
.Для этого я использую библиотеку web.py, вот соответствующий раздел app.py
:
urls = (
"/", "index",
)
indexpath = "/Users/[USERNAME]/torch/torch-rnn/voice/Template/"
render = web.template.render(indexpath)
class index(object):
def GET(self):
the_voice = open(voicepath, "r+").read()
return render.index(the_voice)
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
Мне кажется, что решение, вероятно, заключается в изменении чего-либо в переменных urls
или render
, но я ходил по кругу с этим часами, и у меня нет идей.
То, что я пытался
Первая мысль, которую я должен был бросить - пустышка с именемтакже вызывается voice.txt
в папке «Шаблон» рядом с index.html
, затем измените путь к файлу в запросе XMLHttpRequest, чтобы отразить это, но я все еще получил то же сообщение об ошибке.