[TypeScript] ページにリクエスト送信する関数
サーブレットで作ったページなどを呼び出す場合、htmlでform定義してsubmitすると思いますが、typescript側だけで実行する方法の一つです。
Htmlからはclickイベントで呼び出せばOKです。
動作するかは実際実行してみないと分かりません。
/**
* サーバーページにリクエストを送信する
*
* @param url 送信先ページURL
* @param params リクエストパラメータ
* @param method post/get 省略時post
* @param target 省略時 _blank
*/
sendAction(url: string, params: {name: string, value: string}[], method: string = 'post', target: string = '_blank'): void {
const f = document.createElement('form');
f.method = method;
f.target = target;
f.action = url;
f.innerHTML = '';
params.forEach((p) => {
f.innerHTML += `<input name="${p.name}" value="${p.value}">`;
})
document.body.append(f);
f.submit();
document.body.removeChild(f);
}
■ 呼び出し方法
const url = '[呼び出すページURL]';
const params: { name: string, value: string }[] = [];
params.push({ name: 'param1', value: 'value1' });
params.push({ name: 'param2', value: 'value2' });
this.sendAction(url, params);
他にもいろんなやり方がありますのでご参考までに。
== ランキングに参加しています。ぜひクリックお願いします ==
[TypeScript] 日付の時分秒部分を切り捨てる 霞ヶ関でパスワード付きzipファイルを廃止へ について