blob: 6edde9fcf21cd3ade934b8283f52da5c96597e12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class CommentForm {
constructor(domain, post) {
this.domain = domain;
this.post = post;
this.parser = new DOMParser();
this.form_element = document.getElementById("comment-form");
this.form_element.addEventListener("submit", this.submit.bind(this));
}
async submit(event) {
const form = new FormData(event.target);
form.append("domain", window.location.hostname);
try {
const response = await fetch(`https://${this.domain}/${this.post}/comments`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: form
});
const response_page = this.htmlFromResponse(response.body);
} catch(error) {}
}
htmlFromResponse(body) {
return this.parser.parseFromString(body, "text/html");
}
}
|