Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExtJS Ajax代理-编码外部参数_C#_Extjs_Asp.net Web Api_Url Encoding - Fatal编程技术网

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,问题是您在没有正确编码空格的情况下达到了这一点