代码之家  ›  专栏  ›  技术社区  ›  Falco

避免在经典asp中转义objXmlHttp json字符串

  •  0
  • Falco  · 技术社区  · 7 年前

    我有一个经典的asp页面,它从web服务检索编码的令牌,如下所示:

    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)将此令牌发送到asp。net mvc控制器的另一个web应用程序,我收到它与反斜杠转义太,像这样

    "...rVw1s\\/Qn30...", that breaks.
    

    如果可能的话,我不想在asp(发送令牌)和asp中进行替换。net mvc(接收令牌)。

    在经典asp中,可以避免在objXmlHttp中接收转义斜杠吗?

    或者我做错了什么或者错过了什么。。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Falco    7 年前

    感谢@Lankymart提供关于Json包装要发送的数据的建议:

    工作方式:

    1. 在ASP sender doing Server中。我的令牌的URLEncode(如果没有它,则无法工作…)*

    2. 在简单对象中使用aspJSON序列化编码的令牌(格式为{“token”:“myXYZtoken”}),将序列化的对象发送给我的MVC操作方法。

    3. 动态对象

    4. 在对象中找到格式正确的“令牌”属性。

    *N、 B:只有服务器。未在Json对象中包装的原始令牌的URLEncode不起作用。