我正在使用ORACLE APEX 5.0.1
我正在将一个url字符串传递给APEX应用程序,其中我编码了所有特殊字符,如果url APEX中有一个或多个%3A
(冒号),则截断我传递的值。
这只影响我传递的最后一个变量,只影响最后一个%3A
之后的剩余部分,但如果我在网址的最后放置一个%3A
,则它在APEX中工作。
我在其他论坛上询问过这个问题,这似乎是APEX中一个相对未知的问题,没有得到解释问题的相关答案。
此示例将值传递给tre字段
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50"
P32_XX
,P32_YY
获取值正常
P32_ZZ
仅获取值"VMKF:U 2012"
但是如果我在这个网址的末尾添加%3A
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50%3A"
一切正常,P32_ZZ
获取值"VMKF:U 2012:50".
我已经在Windows资源管理器11,Google Crom和Mozilla Firefox(最新版本)中测试过这种行为。
如果我使用文字冒号(:
)
感谢帮助
答案 0 :(得分:0)
问题是冒号是APEX URL不同部分的分隔符。我很惊讶使用%3F
并没有修复它,但解决办法是按\...\
这样包围整个值:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF%3AU%202012%3A50\
请注意,您现在甚至不需要逃离冒号:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF:U%202012:50\