- var data = $(e.target).data();
- var form = e.target.form;
-
- $(form).find("button[type=submit]").prop("disabled", true);
-
- $.ajax({
- url: data.url,
- type: data.method,
- oauth: true,
- data: { text: $(form.text).val() },
- success: function () {
- OSM.loadSidebarContent(path, function () {
- initialize(path, id, moveToNote);
+ const { url, method } = $(e.target).data(),
+ name = $(e.target).attr("name"),
+ data = new URLSearchParams();
+ content.find("button[name]").prop("disabled", true);
+
+ if (name !== "subscribe" && name !== "unsubscribe" && name !== "reopen") {
+ data.set("text", content.find("textarea").val());
+ }
+
+ fetch(url, {
+ method: method,
+ headers: { ...OSM.oauth },
+ body: data
+ })
+ .then(response => {
+ if (response.ok) return response;
+ return response.text().then(text => {
+ throw new Error(text);