jQuery Call web services(SOAP) in SharePoint 2013
Step by Step Calling web services(SOAP) in SharePoint 2013
As we know sharepoint already provide some sevice for user, we needn‘t write CAML to query list every time, sharepoint web service have enough methods, it is easy and fast, suggest to call sharepoint serivice.
1. This time, we will analysis the web service using SOAP, and learn how to call the web service in client. here is a web service file:http://servername/_vti_bin/Lists.asmx, and detail:
2. Click a link and show the method in detail, notice the soap envelope.
3. now, we start to coding: we will use the GetList method in this sevice to return the list itmes count with jQuery .
-
a. Create a custom list name hr, and add some data to test.
- b. The main code is set the soap envelope and get the respond body with posting request. then we can get the detail info in the respond body via F12 in IE. because this is xml file, it support jQuery seletor.
- c. Here is the code in all:
<script type="text/javascript"> var isIE = (navigator.appName.toLowerCase().indexOf(‘netscape‘) == -1); $(document).ready(function() { ExecuteOrDelayUntilScriptLoaded(makeSoapCall, ‘sp.js‘); }); function makeSoapCall(){ var soapEnv = "<soap:Envelope xmlns:xsi=‘http://www.w3.org/2001/XMLSchema-instance‘" + " xmlns:xsd=‘http://www.w3.org/2001/XMLSchema‘ xmlns:soap=‘http://schemas.xmlsoap.org/soap/envelope/‘> <soap:Body> <GetListItems xmlns=‘http://schemas.microsoft.com/sharepoint/soap/‘> <listName>" + "hr" + "</listName> <viewName></viewName> <query></query> <viewFields></viewFields> <rowLimit></rowLimit> <queryOptions><QueryOptions xmlns=‘‘><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><ViewAttributes Scope=‘RecursiveAll‘/></QueryOptions></queryOptions> </GetListItems> </soap:Body> </soap:Envelope>"; $.ajax({ url:"HTTP://DEV-SP/_vti_bin/Lists.asmx", type: "POST", dataType: "xml", data: soapEnv, complete: processResult, contentType: "text/xml; charset=\"utf-8\"" }); } function processResult(xData, status) { var result; if (isIE) result = xData.responseXML else result = xData.responseText try { if (status == "success" && result){ $(result).find("rs\\:data").each(function() { alert($(this).attr("ItemCount") + " Items found."); }); } } catch (e) { alert(e); } } </script>
- d. Result:
Links :
Calling the SharePoint 2010 GetListItems web services with Jquery
jQuery Call web services(SOAP) in SharePoint 2013,古老的榕树,5-wow.com
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。