Я работаю с библиотекой Polymer 2. Всякий раз, когда я пытаюсь сделать несколько запросов, используя iron-request, кажется, что код делает запрос POST только при первом запуске. Любые последующие запросы, похоже, игнорируются, даже если данные, настроенные для отправки на сервер, отличаются от исходного запроса.
Я написал небольшой пример в этом плункере: ?p=предварительный просмотр
Я создал железный запрос и элемент кнопки, чтобы инициировать запрос следующим образом:
<paper-button on-click="save" class="green">Send</paper-button>
...
<iron-request id="xhr"></iron-request>
Функция сохранения настроена на получение текста из текстовой области и отправку его на сервер.
save() {
var response = this.$.xhr.send({
url: "https://httpbin.org/post",
headers: {
'content-type': 'application/x-www-form-urlencoded'
},
body: {
content: this.inputdata
},
method: "POST"
});
var poly = this;
this.$.xhr.completes.then(function(data) {
console.log("finished");
poly.$.responsetext.innerHTML = data.response;
})
Рассматриваемый код находится в файле element1.html. Если вы попытаетесь отправить разные текстовые полезные данные, будет отправлен только первый запрос. (Вы можете видеть в поле ответа, что поле «контент» формы остается прежним.)
Есть идеи, что происходит? Я думаю, что мне придется создавать новые элементы iron-request каждый раз, когда мне нужно сделать новый запрос... но это не похоже на очень элегантное решение.