我正在尝试通过迭代进行查询,但我们的迭代名称具有特殊字符(例如“Sprint - 01(2012年3月26日至2012年4月2日)”)。
无法从“Sprint - 01(2012年3月26日至2012年4月2日)”解析对象引用“
如果我在它周围添加括号(例如'(Iteration ='+'\“Sprint - 01(2012年3月26日至2012年4月2日)\”)'
无法解析:未知运算符“)”
如何使用这些字符正确处理值?
function itemQuery() {
var queryObject = {
key: 'tasks',
type: 'task',
query: rally.sdk.util.Query.and(['State = "Completed"', 'TaskType = "Development"', 'Iteration = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"']),
fetch: 'FormattedID,Name,Owner,Estimate,Actuals'};
rallyDataSource.findAll(queryObject, populateTable);
}
答案 0 :(得分:3)
问题不是特殊字符,而是查询本身。将=
运算符用于迭代等对象时,需要使用引用,例如/iteration/1234.js
。
相反,您可以通过迭代的名称查询:
...
query: rally.sdk.util.Query.and([
'State = "Completed"',
'TaskType = "Development"',
'Iteration.Name = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"'
])
...
不同之处在于迭代后添加了“.Name”。由于名称在引号中,因此特殊字符可以毫无问题地进入Web服务。