Heim >Web-Frontend >HTML-Tutorial >巧用AJAX实现UTF8编码表单提交到GBK编码脚本_html/css_WEB-ITnose

巧用AJAX实现UTF8编码表单提交到GBK编码脚本_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 08:51:541241Durchsuche

巧用AJAX实现,多个不同编码的项目(GBK,UTF8)互相通过 POST/GET 汇总表单数据。最终实现 使用同一个页面接收 不同编码的 表单(GBK,UTF8),特别适合 JS 采集项目。

1、表单项目1 GBK编码格式

用户采集单是GBK编码,通过GET/POST提交上来的数据也是GBK格式,无需做任何处理

测试地址: http://www.miaoqiyuan.cn/products/anycharset/gbkForm.html

2、表单项目2 UTF8编码格式(可以在不同的域名下)

用户采集单是UTF8编码,通过GET/POST提交上来的数据也是UTF8格式,用表单项目1中的程序接收到的是乱码

测试地址(修改前,提交乱码): http://www.miaoqiyuan.cn/products/anycharset/utf8Form.html

不需要改变页面编码,只需要修改表单Action地址,增加name=”ConvertCallBack” value=”ProjectA/FormGBK”、name=”ConvertItems” value=”name,qq,bb” 的两个 input即可,不用对页面进行其他调整

编码设置,转换器自动操作。

<form action="convert/utf8.asp"...<input name="ConvertCallBack" value="ProjectA/FormGBK"><input name="ConvertItems" value="name,qq,address"/><!-- 根据表单实际情况,修改表单项目 -->

测试地址(修改后): http://www.miaoqiyuan.cn/products/anycharset/utf8FormRepair.html

3、表单项目3 GBK编码格式(可以在不同的域名下)

没有任何影响,只要按照表单1的标准编写 参数即可

测试地址: http://www.miaoqiyuan.cn/products/anycharset/otherForm.html

全部测试包下载地址: http://www.miaoqiyuan.cn/products/anycharset/anycharset.rar

utf8.asp

<% @codepage=936 %><%	CallBack = Server.Htmlencode(Request("ConvertCallBack"))	Items = Split(Request("ConvertItems"),",")	if len(request.form) > 0 then		method = "POST"	else		method = "GET"	end if%><!DOCTYPE html><html lang="zh-CN"><head><meta charset="GB2312"><script src="http://www.miaoqiyuan.cn/wp-includes/js/jquery/jquery.js"></script></head><body><form action="<%=CallBack%>" method="<%=method%>" id="AutoPOST"><%	for each Item in Items		if trim(Item) <> "" then			Item = Server.Htmlencode(Item)%><% = Item %> : <textarea name="<% = Item %>" id="<% = Item %>"></textarea><br /><script>jQuery.post("utf8_convert.asp?MiaoQiYuanAutoConvertItem=<%=Item%>&<%=Request.QueryString%>","<%=Request.Form%>",function(res){	jQuery("#<% = Item %>").val(res);});</script><%		end if	next%><button type="submit">Waiting...</button><script type="text/javascript">setTimeout(function(){	jQuery("#AutoPOST").submit();},200);</script></body></html>

utf8_convert.asp

<% @codepage=65001 %><%	function NotXSS(html)		NotXSS = html		NotXSS = replace(NotXSS, "<", "<")		NotXSS = replace(NotXSS, ">", ">")		NotXSS = replace(NotXSS, """", "&quote;")	end function		'防止参数冲突,使用了 MiaoQiYuanAutoConvertItem	Response.Write NotXSS(Request(Request.QueryString("MiaoQiYuanAutoConvertItem")))%>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn