Storein 发表于 2019-6-10 23:39:34

asp如何接收php或java提交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)
%>
以上代码实测通过。
页: [1]
查看完整版本: asp如何接收php或java提交post过来的json数据