js原始请求数据,注意content数据必须加上双引号或者单引号,将里面的json格式的数据转成字符串,给传递给asp页,

因为asp接受json数据的话,是object类型,没办法处理!只能变通转成字符串,再在后台处理一下,还原成json数据!

<script type="text/javascript">
$.post("ajaxtest.asp",{name:"测试",content:'{col:"111",sec:"22",ff:{aa:"11"},three:"555"}'}
  ,function(data){
	$("#result").html(data);
});
</script>

接受页ajaxtest.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
	response.Charset="utf-8"
	name=request.Form("name")
	content=request.Form("content")
	set conJson=Server.CreateObject("Scripting.Dictionary")
%>
<script language="JScript" runat="Server"> 
function JsonToDiction(str)
{
	eval("var tempstr="+str);
	var tempdic=Server.CreateObject("Scripting.Dictionary")
	ForJson(tempstr,tempdic);
	return tempdic;
}
function ForJson(obj,refArray)
{
	for(i in obj)
	{
		if(obj[i] instanceof Object)
		{
			var tempref=Server.CreateObject("Scripting.Dictionary")
			refArray.Add(i.toString(),tempref);
			ForJson(obj[i],tempref);
		}
		else
		{
			refArray.Add(i.toString(),obj[i]);
		}
	}
}
</script>
<% 
	call ForJson(request.Form("content"),conJson)
	set conJson=JsonToDiction(content)
	response.Write(conJson("ff")("aa"))
%>

 

这样就能接收到所有的json数据了。而且没有数量限制,以后在前台表单字段的时候,直接放内容放到content里面,到asp页面里面接收就可以了,不必专门再改js函数了。!方便!