Javascript 内部列名引用在Sharepoint中不起作用

Javascript 内部列名引用在Sharepoint中不起作用,javascript,rest,sharepoint-2007,Javascript,Rest,Sharepoint 2007,我试图从列表中检索查找列。列表名为“Colors”,查找列名为“RedPencilBox:E-Mail”;但是,我收到“控制器2出错”警报。我想知道这是否是因为“RedPencilBox:E-Mail”(?)的内部名称太长 var module2=angular.module('App2',[]); module2.controller('Controller2',函数($scope,$http){ $http({ 方法:“GET”, url:_spPageContextInfo.webAbs

我试图从列表中检索查找列。列表名为“Colors”,查找列名为“RedPencilBox:E-Mail”;但是,我收到“控制器2出错”警报。我想知道这是否是因为“RedPencilBox:E-Mail”(?)的内部名称太长

var module2=angular.module('App2',[]);
module2.controller('Controller2',函数($scope,$http){
$http({
方法:“GET”,
url:_spPageContextInfo.webAbsoluteUrl+“/_api/web/lists/getByTitle('Colors')/items?$select=Title,Id,RedPencilBox%5Fx003A%5FE%5Fx002d%5FMail/EMail&$expand=RedPencilBox%5Fx003A%5FE%5Fx002d%5FMail/EMail”,
标题:{“接受”:“应用程序/json;odata=verbose”}
}).success(函数(数据、状态、标题、配置){
$scope.project=data.d.results;
}).error(函数(数据、状态、标题、配置){
警报(“控制器2出错”);
});

});在浏览器中尝试您的请求url。它应该返回一个准确的错误,也许你会得到一个线索。 还可以尝试不带查询参数的url:“webURL+/\u api/web/lists/getByTitle('Colors')/items”-查看字段的内部名称是否与查询url中的名称完全相同。 我认为这里不需要编码:只需按原样传递即可:RedPencilBox\u x003A\u E\u x002d\u Mail


致以最诚挚的问候,Polina

我尝试了与“RedPencilBox:E-Mail”相同列表中的另一个查找列,它也会查找与“EMail”相同列表中的列;它很好用。。。然后我放弃了,创建了一个新的查找列来查找“EMail”,而不是使用旧的查找列(RedPencilBox:E-Mail)来查找“EMail”。它出人意料地工作得很好(没有控制器错误,执行任何我实现的操作)!甚至新查找列的内部名称的长度也更长。然而,我仍然不明白为什么前一个查找列不起作用。有什么解释吗?没有,应该是内部名称。这可能是一个评论,而不是一个答案,因为它给出了尝试的建议,但可能不是答案。我把它作为一个答案发布,因为我没有足够的信誉点来为问题添加评论。