我'm learning Polymer. I' m无法使用 <iron-ajax>
将代码计算为"post" . 我正在使用在线测试API(https://reqres.in/),我应该收到状态代码为200的回复:
{"token": "QpwL5tke4Pnpja7X"}".
我找不到显示 POST
示例的教程 . 我一直在网上搜索过去24小时,但一切都是关于 GET
而不是 POST
.
如果熟悉 <iron-ajax>
的人可以查看我的代码并帮助我开始工作或弄清楚如何编写正确的代码,那对像我这样的初学者来说非常有帮助 .
-
我的代码是否正确
body
属性? -
响应是
200
状态代码还是令牌?
<!--
@license
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<link rel="import" href="../bower_components/polymer/polymer-element.html">
<link rel="import" href="shared-styles.html">
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="../bower_components/iron-ajax/iron-ajax.html">
<dom-module id="my-view2">
<!--test using this data: {
"email": "peter@klaven",
"password": "cityslicka"
}-->
<template>
<iron-ajax>
auto
method="post"
url="https://reqres.in/api/login"
handle-as="json"
content-type="application/json"
body =[{"email": "peter@klaven", "password": "cityslicka"}]
on-response={{handleResponse}}
</iron-ajax>
<!--Handle response-->
<p> response handling code goes here, how to show the response from the server here?</p>
<p> It should show: {"token": "QpwL5tke4Pnpja7X"} </p>
<div>
<p> {{handleResponse}} </p>
</div>
</template>
<script>
class MyView2 extends Polymer.Element {
static get is() { return 'my-view2'};
static get proporties() {
return {
handleResponse: {
type: Object,
notify: true,
readOnly: true
}
};
}
}
window.customElements.define(MyView2.is, MyView2);
</script>
</dom-module>
1 回答
iron-ajax
的属性应该在开始标记内,如下所示:handleResponse
属性绑定到<iron-ajax>.lastResponse,其中包含对AJAX请求的响应 .请注意,
<p>{{handleResponse}}</p>
的绑定会将响应对象呈现为[object Object]
. 如果要查看响应内容,则必须使用返回字符串的computed binding(例如,使用JSON.stringify()),如下所示:<iron-ajax>.body
的属性值应该是单引号,如下所示:完整示例应如下所示:
demo