请考虑以下事项:
var params = Ext.urlDecode(window.location.search);
var store = Ext.getStore("EntryStore");
store.getProxy().extraParams={'mail':params.mail,'id':params.id};
store.load();
调用时
localhost/mypage/?mail=test@mydomain.com&id=QWERTYUIOP/ASDFGHJKL456+yxcvbnm==
查询
localhost/api/?_dc=1387181002249&mail=test@mydomain.com&id=QWERTYUIOP/ASDFGHJKL456+yxcvbnm==&page=1&start=0&limit=25
它包含保留字符“+”并使后端阻塞该参数。
(C#WebApi后端告诉我id是
QWERTYUIOP/ASDFGHJKL456 yxcvbnm==
,而不是原来的
QWERTYUIOP/ASDFGHJKL456+yxcvbnm==
)
时
(a)未编码的“+”表示在sencha或
中的错误
(b)一切按预期工作,我应阅读有关如何编码我的参数的手册(请提供一个链接,我找不到)或
(c)Microsoft方面的一个错误导致WebApi阻塞“+”?
亲切的问候,
亚历山大
答案 0 :(得分:1)
使用空格字符查询字符串需要对其进行正确编码。请参阅this关于该主题的答案。
简而言之,这不是Sencha的错误。它(不一定)是您的API中的错误。
考虑到你正在使用window.location.search来获取查询字符串,问题是你没有正确编码空格就达到了这一点。