检索SharePoint编号列表字段的值

时间:2017-03-28 08:57:49

标签: javascript rest sharepoint

这应该是一个相当简单的事情,但我会围成一圈。我正在尝试检索SharePoint字段中的Exchange Rate并将其存储为变量供以后使用,但无法找到执行此操作的方法。

此查询...

 var query = 
    "http://example.domain/sites/ExampleSite/_vti_bin/listdata.svc/CurrencyExchangeRates?$select=Title,ExchangeRate&SortField=Exchange_x0020_Rate&SortDir=Asc" 

...只返回标题。

这是一个屏幕抓取以获得更好的解释: enter image description here

2 个答案:

答案 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")]);
        })
    }
});