C# ExtJS Ajax代理-编码外部参数
考虑以下几点:C# ExtJS Ajax代理-编码外部参数,c#,extjs,asp.net-web-api,url-encoding,C#,Extjs,Asp.net Web Api,Url Encoding,考虑以下几点: 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/?邮件=test@mydomain.com&id=QWERTYUIOP/ASDFGHJKL45
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/?邮件=test@mydomain.com&id=QWERTYUIOP/ASDFGHJKL456+yxcvbnm==
查询
localhost/api/?\u 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端的一个bug导致WebApi在“+”上阻塞 亲切问候,
Alexander使用空格字符的查询字符串需要正确编码。请参阅关于该主题的答案 简言之,它不是Sencha中的bug。它(不一定)是API中的错误 考虑到您正在使用window.location.search获取querystring,问题是您在没有正确编码空格的情况下达到了这一点