import 'dart:html';
// https://www.dartlang.org/articles/json-web-service/
import 'dart:convert';
void httpPostJSON(Event e) {
ButtonElement elm = e.target as ButtonElement;
HttpRequest request = new HttpRequest(); // create a new XHR
// add an event handler that is called when the request finishes
request.onReadyStateChange.listen((_) {
if (request.readyState == HttpRequest.DONE &&
(request.status == 200 || request.status == 0)) {
// data saved OK.
// http://stackoverflow.com/questions/12177970/how-do-i-add-arbitrary-html-to-an-element-in-dart
querySelector("body").appendHtml(request.responseText);
}
});
// POST the data to the server
var url = "/post";
request.open("POST", url, async: false);
request.send(JSON.encode(elm.dataset)); // perform the async POST
}
void main() {
querySelectorAll("button").forEach((Element elm) {
elm.onClick.listen(httpPostJSON);
});
}