Javascript實現不同編碼之間的URL提交
來源:程序員人生 發布時間:2014-03-18 10:27:34 閱讀次數:4538次
不同的網站之間提交參數的時候。比如A網站是UTF-8編碼,向liehuo.net (GBK) 提交一個鏈接
http://s.liehuo.net/?q=杯具&sp=on 這樣會存在轉碼的問題。 提供一個函數。將 http://s.liehuo.net/?q=1&a=2&b=3&c=4 轉換成FORM,再通過更改FORM的accept-charset 來達到自動轉碼的目的。
代碼如下:
//提供一個URL,JS分析創建表單提交
function submitAsForm(requestUri, charset) {
var s = requestUri.split('?'),d = document,div = d.createElement('DIV');
div.innerHTML =
'<form method="GET" action="'+ s[0] +'">' +
s[1].replace(/((w+)=(.*?))(&|$)/gi, function(s,m,n,v){
return '<input type="hidden" name = "'+ n +'" value="'+ /*encodeURIComponent*/(v) +'" />'
}) +
'</form>'
var form = div.firstChild;
form.setAttribute('accept-charset', charset || 'UTF-8');
if (document.all) document.charset = charset;
form.submit();
}
//submitAsForm('http://s.liehuo.net/?a=1&b=2&c=3&d=4', 'GB2312')