Javascript Dynamics-按国际fomat中的电话号码筛选Web API

Javascript Dynamics-按国际fomat中的电话号码筛选Web API,javascript,asp.net-web-api,microsoft-dynamics,Javascript,Asp.net Web Api,Microsoft Dynamics,我正在使用该URI请求与特定电话号码匹配的联系人实体: /api/data/v8.1/contacts?$filter=telephone1 eq '"+ phoneNumber +"' or telephone2 eq '"+ phoneNumber +"' or telephone3 eq '"+ phoneNumber +"' or mobilephone eq '"+ phoneNumber +"' &$select=contactid,firstname,lastname,em

我正在使用该URI请求与特定电话号码匹配的联系人实体:

/api/data/v8.1/contacts?$filter=telephone1 eq '"+ phoneNumber +"' or telephone2 eq '"+ phoneNumber +"' or telephone3 eq '"+ phoneNumber +"' or mobilephone eq '"+ phoneNumber +"' &$select=contactid,firstname,lastname,emailaddress1,birthdate"

因为电话号码只有数字:0033648000000,所以它可以工作。但当我尝试对国际格式的电话号码:+33648000000执行相同操作时,即使有3个联系人与指定号码关联,也不会给出任何结果。不会显示任何错误,就像不存在具有该号码的联系人一样。一些想法

这与+符号是url中的一个特殊字符有关。在将电话号码附加到url之前,您需要对其进行编码:

/api/data/v8.1/contacts?$filter=telephone1 eq '"+ encodeURIComponent(phoneNumber) +"' or telephone2 eq '"+ encodeURIComponent(phoneNumber) +"' or telephone3 eq '"+ encodeURIComponent(phoneNumber) +"' or mobilephone eq '"+ encodeURIComponent(phoneNumber) +"' &$select=contactid,firstname,lastname,emailaddress1,birthdate"