私はこの要素を持っています:
<template>
...
<iron-ajax
id="ajax"
url="..."
handle-as="json"
verbose=true
last-response={{ajaxResponse}}
loading="{{cargando}}"
on-response="_handleResponse">
</iron-ajax>
<div id="resultado"></div>
</template>
<script>
Polymer({
...
_handleResponse: function(event){
console.log("_handleResponse... ");
// this.$.resultado.innerHTML = event.detail.innerHTML;
}
});
</script>
Firebugで見た応答は次のとおりです。
<p>Hello Word</p>
innerHTML
divのresultado
として設定するために、_handleResponse
関数の応答にアクセスしたいのですが、何も機能しません。
私が試してみました:
event.detail.innerHTML
event.detail.response
event.detail.xhr.response
event.detail.xhr.responseText
event.detail.request.xhr.response
(このルートは存在しません。どのように解決できますか Polymer Iron Ajax-エラーイベント後のリクエストからの応答にアクセスする方法? ?)オンレスポンス関数でe.detail.response値をデバッグおよび監視する場合:
[ネットワーク]タブで、応答を確認できます(単純な 'hello'):
応答データは、実際には _event.detail.response
_ イベントの_<iron-ajax>.response
_で返されます。設定を誤ったため、response
フィールドはnull
になります _<iron-ajax>.handleAs
_ 。 json
に設定すると、_Accept-Type
_ヘッダーは_application/json
_に設定され、応答はすべて JSON.parse()
で解析されます。サーバーが_Accept-Type
_を無視し、必要なものを送信すると、_<iron-request>
_は応答をJSONとして解析しようとして失敗し、 null
応答本文 を発生させます。 仕様 。 hello
と_<p>Hello</p>
_は有効なJSON文字列ではないことに注意してください。
プレーンテキストデータを受信する場合は、_<iron-ajax>.handleAs
_をtext
に設定します(デフォルトはjson
です)。
_<iron-ajax handle-as="text">
_のデモ
_<iron-ajax handle-as="json">
_のデモ
- _
event.detail.request.xhr.response
_(このルートは存在しません。どのように解決できますか Polymer Iron Ajax-エラーイベント後のリクエストからの応答にアクセスする方法? ?)
リンクした質問 は、_<iron-ajax>.error
_イベントとは異なるイベントの詳細を持つ_<iron-ajax>.response
_イベントについて質問します。
_<iron-ajax>
_がサーバー応答を受信すると、 response
イベントを発生させます 対応する _<iron-request>
_ をイベントの詳細として使用します。
何らかの理由でリクエストが失敗した場合、_<iron-ajax>
_ error
イベントを発生させますオブジェクト (request
属性を介した_iron-request
_と、error
を介した根本的なエラーを含む)をイベントの詳細として。