Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 铁请求不';不要提出一个以上的要求_Javascript_Ajax_Polymer_Polymer 2.x - Fatal编程技术网

Javascript 铁请求不';不要提出一个以上的要求

Javascript 铁请求不';不要提出一个以上的要求,javascript,ajax,polymer,polymer-2.x,Javascript,Ajax,Polymer,Polymer 2.x,我在图书馆工作。每当我尝试使用发出多个请求时,代码似乎只在第一次启动时发出POST请求。任何后续请求似乎都会被忽略,即使设置为发送到服务器的数据与初始请求不同 我在这本书中写了一个小例子: 我创建了一个熨斗请求和一个按钮元素来启动请求,如下所示: <paper-button on-click="save" class="green">Send</paper-button> ... <iron-request id="xhr"></iron-request

我在图书馆工作。每当我尝试使用发出多个请求时,代码似乎只在第一次启动时发出POST请求。任何后续请求似乎都会被忽略,即使设置为发送到服务器的数据与初始请求不同

我在这本书中写了一个小例子:

我创建了一个熨斗请求和一个按钮元素来启动请求,如下所示:

<paper-button on-click="save" class="green">Send</paper-button>
...
<iron-request id="xhr"></iron-request>
有问题的代码在“element1.html”文件中。如果尝试发送不同的文本有效载荷,则只会发送第一个请求。(您可以在响应框中看到表单“内容”字段保持不变。)


知道发生了什么吗?我在想,每次我需要提出新的要求时,我都必须创建新的铁元素。。。但这听起来并不是一个非常优雅的解决方案。

正如您所怀疑的那样,
iron-request
已构建为发送单个HTTP请求。我快速查看了它的实现。如果请求的状态大于0,则
send
方法实际上只返回
null
而不执行任何操作,如果您以前使用过该方法,则情况就是这样

虽然您可以为每个请求创建一个新的
iron request
元素,但它并不优雅(正如您自己所说)。相反,您可以使用
ironajax
。您可以在其上找到一些说明

您的
可以这样重写

<iron-ajax id="xhr" url="https://httpbin.org/post" content-type="application/x-www-form-urlencoded" method="POST" body="[[inputdata]]" on-response="onXhrSuccess"></iron-ajax>

谢谢<代码>似乎正在发出多个请求。。。但是在我提供的plunker链接中实现这些更改时遇到了一些问题。你们中有人能提供一个完全有效的例子吗?到目前为止,我得到的是:文本字段似乎没有更新正在发送的数据。可能是数据绑定问题?@chaseme,这是由数据绑定到文本区域的不同问题引起的。你可以找到一个解决方案。这是最新的完美。这很有效。我以前确实看到过关于textarea的解决方案,但是我不知道这也适用于聚合物2.x。
<iron-ajax id="xhr" url="https://httpbin.org/post" content-type="application/x-www-form-urlencoded" method="POST" body="[[inputdata]]" on-response="onXhrSuccess"></iron-ajax>
save() {
    this.$.xhr.generateRequest();
}

onXhrSuccess(event, request) {
    console.log("finished");
    poly.$.responsetext.innerHTML = event.detail.response;
}