ODATA:URL中的特殊字符
我在创建ODataURL时遇到了一个问题 对于以下URL ?$filter=AccountID等式“1000024” 结果:ODATA:URL中的特殊字符,odata,Odata,我在创建ODataURL时遇到了一个问题 对于以下URL ?$filter=AccountID等式“1000024” 结果: - <m:properties> <d:ObjectID>00163E10AD0B1ED686EF458B4E8C51D5</d:ObjectID> <d:ParentObjectID>00163E10AD201EE5A4F0B592DE751AE8</d:ParentObjectID <
- <m:properties>
<d:ObjectID>00163E10AD0B1ED686EF458B4E8C51D5</d:ObjectID>
<d:ParentObjectID>00163E10AD201EE5A4F0B592DE751AE8</d:ParentObjectID
<d:AccountID>1000024</d:AccountID>
<d:ContactID>1002636</d:ContactID>
<d:FunctionCode>Z021</d:FunctionCode>
<d:Mobile>+33 123456789</d:Mobile>
<d:Phone>+33 987654321</d:Phone>
</m:properties>
-
00163E10AD0B1ED686EF458B4E8C51D5
00163E10AD201EE5A4F0B592DE751AE8原因是这些特殊字符在URL中使用时具有不同的含义。JavaScript“encodeUri”或“encodeUriComponent”不能解决这个问题
以下是在OData查询中使用时需要替换的特殊字符列表:
特殊字符+
表示空格(并且空格不能在URL中使用),因此您需要用其十六进制值替换该字符,在本例中为%2B
然后,更正后的过滤器应为$filter=电话均衡器“%2B33 123456789”
找到一篇好文章。您是否尝试过使用%2B
而不是url中的特殊字符+
?@AndreF:$filter=Phone eq“%2B 123456789”,我试过这个,但是运气不好。试试这个$filter=Phone eq“%2B 33123456789”
,或者如果我们正在寻找一个完全匹配的,这个$filter=Phone eq“%2B33 123456789”
,谢谢你,这个很好用。