グラフを埋め込むWebページを作成する必要があります。POST(HTMLのカスタムヘッダー付き)リクエストの応答を取得し、フロントエンドページの変数として使用する
<html>
<head>
<script language="JavaScript" type="text/javascript">
function makeFrame() {
ChartToken = "XXXXXXX";
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "https://url.com/charts/"+ ChartToken +"#/embedded");
ifrm.style.width = 640+"px";
ifrm.style.height = 480+"px";
document.body.appendChild(ifrm);
}
</script>
</head>
<body>
<p><a href="#" onMouseDown="makeFrame()">GO! </a></p>
</body>
</html>
私は手動でこれが動作している正しい文字列でChartTokenを設定した場合:
私が書いたページには、以下です。ただし、ChartTokenの値はPOSTリクエストを介して取得する必要があります。
POST要求がバックエンドサーバーに送られるべきだと言われました。しかし、私はバックエンドサーバーでの書き方とPOSTリクエストの書き方を知らない。また、実際にバックエンドで記述する必要があるかどうか、または上記のフロントエンドページでPOSTリクエストを行うことができるかどうかはわかりません。
現在ChartTokenを入手するために、私はAdvanced RESTクライアントを使用しています。高度なRESTクライアントがURLの値をフィールドに私が記入:RAWヘッダーの
https://url.com/1/embeddedCharts
:
Authorization: Token YYYYYYYY
Content-Type: application/json
とRAWペイロード用:
{"apiToken": "YYYYYYYY",
"chartId": "ZZZZZZZ"}
(ことに気付きますAthorization:トークンとapiTokenは同じです)、私は応答として受け取ります:
{
"token": "KKKKKKK"
}
これは、グラフを埋め込むためにChartTokenに入れた値です。ただし、この値は1度しか使用できず、各ページの読み込み時にChartTokenに入れるために新しいトークンを取得する必要があります。
は、したがって、私は(私はChartTokenにトークンの値を送信するために使用したいという)トークンを取得するためにページを書きました:
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Title Goes Here</title>
</head>
<body>
<p>This is my web page</p>
<form action="https://url.com/1/embeddedCharts" method="post" enctype="application/json">
<input name="apiToken" value="YYYYYYYY">
<input name="chartId" value="ZZZZZZZ">
<button>Send my data</button>
</form>
</body>
</html>
しかし、このページは動作しません。 RAWヘッダーを送信しない可能性があります:
Authorization: Token YYYYYYYY
高度なRESTクライアントと同じですか?私はカスタムヘッダーを定義することができないので、これはHTMLでは不可能であることを他のフォーラムで読んでいます。これは本当ですか?
それとも
enctype="application/json"
は、実際に私はアドバンスRESTクライアントを使用
Content-Type: application/json
を置き換えるものではありませんので、?
このページをバックエンドサーバーに書き込んでいない可能性がありますか?どうすればいい?
だから、私の問題を解決するには、知っているだろう:
1)チャートのトークンを取得するためにPOSTリクエストを作成する方法。
2)バックエンドにある場合、要求を書き込む場所。
3)フロントエンドページに値を渡す方法。本質的にはChartTokenです。
私はフロントエンドページ用に少しのHTMLしか書けないと思っています。ウェブアーキテクチャについてはあまりよく分かりません。私にとって最も簡単なのは、すべての兆候の完全な例を得ることです。
ありがとうございます。
HTMLフォームの代わりに[AJAX](https://www.sitepoint.com/use-jquerys-ajax-function/)を使用してリクエストするのはなぜですか? – SilverlightFox
AJAXで書く方法がわかりません。私が言ったように、私はフロントエンドページのための少しのhtmlしか知りません。 – Stack101