火车票网论坛
    网络管理
       浏览:asp如何实现post过来的json代码

  火车时刻查询 浏览上一篇主题   刷新本主题  浏览下一篇主题
 * 贴子主题: asp如何实现post过来的json代码  报告本帖给版主   把本贴加入论坛收藏夹    
 bazhu   帅哥  2005-1-8
  
  
  注册:2005-1
  文章:476
  最近:2016-5-5

发贴心情 

asp如何实现post过来的json代码
传统的ASP与ASP之间post提交json可以用:
json=cstr(request.form)
来获取得到的json代码,但实际上,如果是java或php提交过来的话,用request.form可能得到的就是空值,最稳妥的办法是根据二进制流得到数据,操作如下:

2个页面,第一个页面假设为:funtion.asp
代码如下:
<%
function bytes2bstr(vin)
dim bytesstream,stringreturn
set bytesstream = server.CreateObject("adodb.stream")
bytesstream.type = 2
bytesstream.open
bytesstream.writeText vin
bytesstream.position = 0
bytesstream.charset = "utf-8"'或者gb2312
bytesstream.position = 2
stringreturn = bytesstream.readtext
bytesstream.close
set bytesstream = nothing
bytes2bstr = stringreturn
end function
%>
第二个页面,假设为demo.asp,代码如下:
<!--#include file="funtion.asp"-->
<%
getpostjson=Request.TotalBytes '得到字节数
if getpostjson=0 then
response.Write("json null")
response.End()
end if
readjson=Request.BinaryRead(getpostjson) '二进制方式来读取客户端使用POST传送方法所传递的数据
json = bytes2bstr(readjson) '二进制转化
response.write(json)
%>
以上代码实测通过。