以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于JS 中的jsonu问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159399)

--  作者:ap9709130
--  发布时间:2020/12/25 10:29:00
--  关于JS 中的jsonu问题
 老师
     我在JS 中用回调函数处理josn,发现几个问题:
     我的服务器代码:
Dim e As RequestEventArgs = args(0)
e.Resp
If e.PlainText > "" Then
      Dim jo1 As New JObject
    jo1("zt") = 0
    jo1("jg") = "这是测试信息!"
    e.WriteString(UrlEncode(jo1.ToString))
Else
    e.WriteString(UrlEncode("数据出错,请联系管理员!"))
End If

JS中用回调函数处理:
function ddjg (jg) {
  hide(\'t1\');
  var result = decodeURIComponent(jg);
  alert(result);
}
为什么出来的结果是这样:
{
++"zt": +"0",
++"jg": ++"
这是测试信息!!"
}
为什么会有这么多+号,要怎么样处理。
如果不用UrlEncode,alert 出来的是[obj,obj]。Js 中要怎么处理才能得到json 字符。多谢!

--  作者:有点蓝
--  发布时间:2020/12/25 10:33:00
--  
https://www.runoob.com/js/javascript-json-parse.html

var result = JSON.parse(jg)
--  作者:ap9709130
--  发布时间:2020/12/25 13:42:00
--  
 有点蓝老师

    如果 e.WriteString(jo1.ToString)  然后 JS var result = JSON.parse(jg) 是没问题的。为什么我如果用了 e.WriteString(UrlEncode(jo1.ToString)) 然后 JS 用:
var result = JSON.parse(decodeURIComponent(jg));
这样就出错。



--  作者:有点蓝
--  发布时间:2020/12/25 14:33:00
--  
完全没有必要进行编码传输,又不是放到地址里使用