验证REST中的列表项

时间:2015-09-29 03:21:28

标签: javascript rest sharepoint-2013

我有一个使用REST添加列表项的函数。但是我想在我添加它之前验证列表项是否已经存在于我的列表中。怎么做?

function addListItem() {    

var title = $("#txtTitle").val();
var siteUrl = _spPageContextInfo.webAbsoluteUrl;
var fullUrl = siteUrl + "/_api/web/lists/GetByTitle('Employee')/items";

$.ajax({
    url: fullUrl,
    type: "POST",
    data: JSON.stringify({
        '__metadata': { 'type': 'SP.Data.EmployeeListItem' },   
        'EmployeeID': $("#txtEmpID").val(),
        'Name': $("#txtName").val(),

    }),
    headers: {
        "accept": "application/json;odata=verbose",
        "content-type": "application/json;odata=verbose",
        "X-RequestDigest": $("#__REQUESTDIGEST").val()
    },
    success: onQuerySucceeded,
    error: onQueryFailed
});

function onQuerySucceeded(sender, args) {
alert("Item successfully added!");
}

  function onQueryFailed() {
  alert('Error!');
}

 };

1 个答案:

答案 0 :(得分:0)

您可以使用OData query operations in SharePoint REST requests 在Get操作中使用$filter参数来验证用户是否存在于列表中,使用如下内容:

$filter=Name eq '<UserName>'

一个例子:

 siteUrl + "/_api/web/lists/GetByTitle('Employee')/items?$filter=Name eq 'John'
  

&LT;用户名&gt;是文本框值

您可以在此处看到响应示例:

http://services.odata.org/Northwind/Northwind.svc/Customers?$滤波器=联系人姓名%20当量%20%27Maria%20Anders%27

只需执行Get请求并计算元素以了解用户是否存在

$.get("/_api/web/lists/getbytitle('Employee')/items?$filter=Name eq '<Name>'",function(e){
    if($(e).find("entry").length > 0){
          console.log("user exists");
    }

})

您可以在此处使用JQuery / Javascript查看使用SharePoint 2013 REST端点的完整基本操作:

https://msdn.microsoft.com/en-us/library/office/jj164022.aspx

相关问题