いつもお世話になっています。
特定のページにURLを与えて画面に表示させた後に、テーブルに書き込む処理を行おうとしています。
javascript
1 var ur = "http://***/sample?para1=aaa¶2=bbb¶3=ccc"; 2 var url = "http://***/BM_mngr?" + 3 "upp_type=申請書" + "&upp_title=" + tt + "&upp_url=" + ur + "&upp_publish_dt=" + dt; 4 location.href = url;
成功したと思ったのですが、長いURLが途中で切れてしまうことので、調べてみたところ、
パラメタが複数あるページで&以降の文字が切れてしまうことに気づきました。
当たり前のことですが、処理を行う画面のURLのパラメタが複数あるので、URLの中の&と区別が付かないようです。
GETリクエストで行うところをPOSTリクエストに書き直してみたのですが、今度はURLが呼び出せなくなりました。
これはフレームワーク提供のインタフェイスなので、POST自体サポートしていないのが原因かもしれません。
javascript
1 var ur = "http://***/sample?para1=aaa¶2=bbb¶3=ccc"; 2 var form = document.createElement('form'); 3 form.method = 'POST'; 4 form.action = "http://***/BM_mngr"; 5 var itm01 = document.createElement('input'); 6 itm01.type = 'hidden'; 7 itm01.name = 'upp_type'; 8 itm01.value = "申請書"; 9 form.appendChild(itm02); 10 var itm02 = document.createElement('input'); 11 itm02.type = 'hidden'; 12 itm02.name = 'upp_title'; 13 itm02.value = tt; 14 form.appendChild(itm02); 15 var itm03 = document.createElement('input'); 16 itm03.type = 'hidden'; 17 itm03.name = 'upp_url'; 18 itm03.value = ur; 19 form.appendChild(itm03); 20 var itm04 = document.createElement('input'); 21 itm04.type = 'hidden'; 22 itm04.name = 'upp_publish_dt'; 23 itm04.value = dt; 24 form.appendChild(itm04); 25 document.body.appendChild(form); 26 form.submit();
初歩的なことをお聞きしていると思いますが、
特殊文字は、エスケープシーケンスを付けて渡すということを聞いたことがあるのですが、&文字というのは、変換後も&で始まる文字になるので、解決にはならないようです。
javascript
1var escapeHTML = function (str) { 2 return str 3 .replace(/&/g, '&') 4 .replace(/</g, '<') 5 .replace(/>/g, '>') 6 .replace(/"/g, '"') 7 .replace(/'/g, '''); 8};
アドバイス頂けたら有難いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/11 08:14