避免在经典 asp 中转义的 objXmlHttp json 字符串
avoid objXmlHttp json string escaped in classic asp
我有一个经典的 asp 页面,它从网络服务中检索编码的令牌,如下所示:
objXmlHttp.Open "POST", "http://some_web_service", False
objXmlHttp.SetRequestHeader "Content-Type", "application/json"
objXmlHttp.Send something
If objXmlHttp.Status = 200 Then
response.write ("objXmlHttp.ResponseText:"&objXmlHttp.ResponseText)
我在 objXmlHttp.ResponseText 中看到斜线是这样转义的
"...rVw1s\/Qn30..." (see "\" and "/" after "s").
当我通过查询字符串 (Response.Redirect) 将此令牌发送到另一个 Web 应用程序的 asp.net mvc 控制器时,我收到的反斜杠也被转义了,就像这样
"...rVw1s\/Qn30...", that breaks.
我不想替换,如果可能的话,不在 asp(发送令牌)中,也不在 asp.net mvc(接收令牌)中。
是否可以避免在经典的 objXmlHttp 中接收转义斜杠 asp?
或者我做错了什么或遗漏了什么...
感谢@Lankymart 关于Json 包装要发送的数据的建议:
这样工作的:
in ASP 发件人正在执行 Server.URLEncode 我的令牌(没有这个无效...)*
在一个简单对象中使用 aspJSON 序列化编码令牌(格式类似于 {"token":"myXYZtoken"}),将序列化对象发送到我的 MVC 操作方法。
在使用Newtonsoft反序列化的MVC Action接收器方法中Json转换成
动态对象
在对象中找到 "token" 属性 的格式正确。
*N.B:只有 Server.URLEncode 个未包装在 Json 对象中的原始令牌不起作用。
我有一个经典的 asp 页面,它从网络服务中检索编码的令牌,如下所示:
objXmlHttp.Open "POST", "http://some_web_service", False
objXmlHttp.SetRequestHeader "Content-Type", "application/json"
objXmlHttp.Send something
If objXmlHttp.Status = 200 Then
response.write ("objXmlHttp.ResponseText:"&objXmlHttp.ResponseText)
我在 objXmlHttp.ResponseText 中看到斜线是这样转义的
"...rVw1s\/Qn30..." (see "\" and "/" after "s").
当我通过查询字符串 (Response.Redirect) 将此令牌发送到另一个 Web 应用程序的 asp.net mvc 控制器时,我收到的反斜杠也被转义了,就像这样
"...rVw1s\/Qn30...", that breaks.
我不想替换,如果可能的话,不在 asp(发送令牌)中,也不在 asp.net mvc(接收令牌)中。
是否可以避免在经典的 objXmlHttp 中接收转义斜杠 asp?
或者我做错了什么或遗漏了什么...
感谢@Lankymart 关于Json 包装要发送的数据的建议:
这样工作的:
in ASP 发件人正在执行 Server.URLEncode 我的令牌(没有这个无效...)*
在一个简单对象中使用 aspJSON 序列化编码令牌(格式类似于 {"token":"myXYZtoken"}),将序列化对象发送到我的 MVC 操作方法。
在使用Newtonsoft反序列化的MVC Action接收器方法中Json转换成 动态对象
在对象中找到 "token" 属性 的格式正确。
*N.B:只有 Server.URLEncode 个未包装在 Json 对象中的原始令牌不起作用。