<!-- 显示列表 -->
<view class=“itemlist” wx:if="{{food_list}}">
<view class=“item” wx:for="{{food_list}}" wx:key=“food_listID”>
<navigator url="…/LawDetail/LawDetail?showType={{showType}}&dataType={{dataType}}&id={{item.id}}&SuperviseType={{item.SuperviseType}}&CaseNumber={{item.CaseNumber}}&CaseDescption={{item.CaseDescption}}">
。。。。。
这样子传的。CaseDescption中有&&&&符号,&及后面的字符全丢。
不是因为太长,我测试过了。 @binbin 就是因为字符。 使用encodeURI是可以的,但我这种循环记录如何在wxml中调用encodeURI…呢?并且这是循环记录参数,也不好定义一个全局变量呀,如果把我数组全放全局变量里,全局变量这么用也不太好吧?
我之前是用wx.navigator方法,不是navigator标签,也出现类似的问题,后来我是只带一个ID过去到详情页,到了详情页再通过ID查出明细,这种带多个参数我总感觉会出问题的,即使在开发的时候没发现,等上线了bug就来了
我现在把这些符号全搞成全角的了:)
protected string toJSonString(string s)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
char c = s[i];
switch ©
{
case ‘\"’:
sb.Append("\\\"");
break;
case ‘\\’:
sb.Append("\\\\");
break;
case ‘/’:
sb.Append("\\/");
break;
case ‘\b’:
sb.Append("\\b");
break;
case ‘\f’:
sb.Append("\\f");
break;
case ‘\n’:
sb.Append("\\n");
break;
case ‘\r’:
sb.Append("\\r");
break;
case ‘\t’:
sb.Append("\\t");
break;
case ‘=’:
sb.Append(“=”);
break;
case ‘&’:
sb.Append("&");
break;
case ‘?’:
sb.Append("?");
break;
case ‘%’:
sb.Append("%");
break;
default:
if ((c >= 0 && c <= 31) || c == 127)//在ASCⅡ码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符
{
}
else
{
sb.Append©;
}
break;
}
}
//return Server.UrlEncode(str);
//return Server.UrlPathEncode(Server.UrlPathEncode(str));
//return HttpUtility.UrlPathEncode(sb.ToString());
return sb.ToString();
}