Quantcast
Channel: jQuery Library for SharePoint Web Services
Viewing all articles
Browse latest Browse all 6517

New Post: SPServices in SharePoint Hosted App?

$
0
0
I have tried 3 scenarios (and combinations). I can get jquery/SPServices recognised, but I can't get a query on lists to work (refer to last code quoted at bottom of this post).

I can get simple jquery call to work and simple SPServices call:
<script ...>
alert ("js on.");
$(document).ready(function() {
    alert ('jQuery on.');
    var thisSite = $().SPServices.SPGetCurrentSite();
    alert ('Hello World! Your site is : ' + thisSite );
});

I put a simple script into a Napa page that uses context and can get the real site collection path:
<script ...>
    var context;
    var web;
    var spHostUrl;
    var parentContext;

    $(document).ready(function () {
        var spHostUrl = decodeURIComponent(getQueryStringParameter('SPHostUrl'));
        context = new SP.ClientContext.get_current();
        parentContext = new SP.AppContextSite(context, spHostUrl);
        web = parentContext.get_web();

        alert(spHostUrl);
    });

    function getQueryStringParameter(urlParameterKey) {
        var params = document.URL.split('?')[1].split('&');
        var strParams = '';
        for (var i = 0; i < params.length; i = i + 1) {
            var singleParam = params[i].split('=');
            if (singleParam[0] == urlParameterKey)
                return decodeURIComponent(singleParam[1]);
        }
    }

I cannot get a call to an existing SP list to work, yet the same code works if inserted in a web page as Script web part!
<asp:Content ID="Content3" ContentPlaceHolderId="PlaceHolderMain" runat="server">
<div>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.2/jquery.SPServices-0.7.2.min.js"></script>
    <script language="javascript" type="text/javascript">
        var context;
        var web;
        var spHostUrl;
        var parentContext;

        $(document).ready(function () {
            var spHostUrl = decodeURIComponent(getQueryStringParameter('SPHostUrl'));
            context = new SP.ClientContext.get_current();
            parentContext = new SP.AppContextSite(context, spHostUrl);
            web = parentContext.get_web();

            $().SPServices({
                operation: "GetListItems",
                async: false,
                weburl: spHostUrl + '/lcm',
                listName: "Brisbane Inbox",
                CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Debtor_x0020_Code' /><FieldRef Name='Patient_x0020_Exit_x0020_Date' /></ViewFields>",
                completefunc: function (xData, Status) {
                  $(xData.responseXML).SPFilterNode("z:row").each(function() {
                    var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
                    var liHtml = liHtml + "<li>" + $(this).attr("ows_Debtor_x0020_Code") + "</li>";
                    var liHtml = liHtml + "<li>" + $(this).attr("ows_Patient_x0020_Exit_x0020_Date") + "</li>";
                    $("#tasksUL").append(liHtml);
                  });
                }
              });
        });

        function getQueryStringParameter(urlParameterKey) {
            var params = document.URL.split('?')[1].split('&');
            var strParams = '';
            for (var i = 0; i < params.length; i = i + 1) {
                var singleParam = params[i].split('=');
                if (singleParam[0] == urlParameterKey)
                    return decodeURIComponent(singleParam[1]);
            }
        }
    </script>
    <ul id="tasksUL"/>
</div>
</asp:Content>

Viewing all articles
Browse latest Browse all 6517

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>