这应该是一个相当简单的事情,但我会围成一圈。我正在尝试检索SharePoint字段中的Exchange Rate并将其存储为变量供以后使用,但无法找到执行此操作的方法。
此查询...
var query =
"http://example.domain/sites/ExampleSite/_vti_bin/listdata.svc/CurrencyExchangeRates?$select=Title,ExchangeRate&SortField=Exchange_x0020_Rate&SortDir=Asc"
...只返回标题。
答案 0 :(得分:0)
您所包含的几个参数不正确。
指定订单依据字段:
首先,而不是SortField
使用$orderby
。
&$orderby=ExchangeRate
请注意,我们使用您在$select
参数中使用的字段名称的相同变体;字段显示名称中的任何空格字符都只是从字符串中删除(而不是替换为_x0020_
,就像您在字段的内部名称中找到的那样)。
注意:如果删除空格字符会导致现有字段之间发生命名冲突,则SharePoint允许您通过在字段名称的末尾附加数字来区分它们,例如ExchangeRate0
而不是{{ 1}},因此您可能需要尝试找到字段名称的正确变体。
指定排序方向:
其次,代替ExchangeRate
,只需在SortDir=Asc
参数值中asc
之后添加空格ExchangeRate
。
$orderby
进行这些更改后,您的REST URL将如下所示:
&$orderby=ExchangeRate asc
答案 1 :(得分:0)
我更喜欢SPServices。 https://spservices.codeplex.com/
var currencyArray = new Array();
$().SPServices({
operation: "GetListItems",
async: false,
listName: "ExchangeRateList",
CAMLViewFields: "<ViewFields><FieldRef Name='LinkTitle'/><FieldRef Name='Exchange_x0020_Rate' /></ViewFields>",
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
currencyArray.push([$(this).attr("ows_LinkTitle"), $(this).attr("ows_LinkTitle")]);
})
}
});