プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[TypeScript] ページにリクエスト送信する関数

サーブレットで作ったページなどを呼び出す場合、htmlform定義して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);

他にもいろんなやり方がありますのでご参考までに。


 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください