ODATA Source Non JSONP

45 posts, 0 answers
  1. Michael
    Michael avatar
    2 posts
    Member since:
    Feb 2009

    Posted 26 Sep 2011 Link to this post

    I would like to call some SharePoint 2010 ODATA services but the listdata.svc doesn't support JSONP. It is possible to add parameters to make it work?

    The Microsoft ODATA JavaScript API on CodePlex has the option enableJsonPCallback = false and it allows it to work.

    Funny how their samples on CodePlex use the Telerik ODATA services.
  2. Rosen
    Admin
    Rosen avatar
    3237 posts

    Posted 27 Sep 2011 Link to this post

    Hi Michael,

    I'm afraid that currently DataSource expect data to be in valid JSONP format. Maybe you can use similar to  this extension to enable the JSONP support of DataServices.

    Regards,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  3. Kendo UI is VS 2017 Ready
  4. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 27 Sep 2011 Link to this post

    Looking at kendo.data.js I don't the see a requirement for JSONP. As long as the request occurs from the same domain (same web app in SharePoint lingo) JSON should work (see http://demos.kendoui.com/datasource/shared.html for an example).

    @Michael: Did you make a copy of kendo.data.odata.js and modify the read properties. That would allow you to adjust transports.odata.read with your own settings.

    Rainer
  5. Rosen
    Admin
    Rosen avatar
    3237 posts

    Posted 28 Sep 2011 Link to this post

    Hi Rainer Wittmann,

    Indeed, using JSONP is not a requirement but an options. However, in this case data returned from the service should be in a valid format. Sure if cross domain requests are not used, JSONP is not required.

    Regards,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  6. Michael
    Michael avatar
    2 posts
    Member since:
    Feb 2009

    Posted 28 Sep 2011 Link to this post

    Thanks for the info. I was hoping that a parameter could be added to the datasource to switch the call to JSON. The calls I am using are the same domain. I'm sure modifying the files would work but I want to be able to upgrade the scripts.

    I was able to get what I needed to work by using the Microsoft datajs API. For the Keno datasource I pass in data.results and the Kendo controls render just fine. For the grid the loading icon doesn't seem to work or the refresh method. Is there an example on how to pass and object into the transport object of the datasource? I'm thinking that might be required for the grid refresh either that or is doesn't work in the beta.

    The application sample I have working is really nice. Out of box SharePoint 2010 related lists as the backend and Kendo for the interface.
  7. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 29 Sep 2011 Link to this post

    According to this blog http://www.kendoui.com/blogs/teamblog/posts/11-08-25/shields_up_web_service_abstraction_with_kendo_ui.aspx making a copy of kendo.data.odata.js to say kendo.odata.SP2010.js let you extend native kendo.data. So instead of only allowing you to modify the type from "jsonp" to "json" by passing in a parameter it allows you to modify each aspect of kendo.data.This keeps your modification seperated from the core platform files.

    Give it a try and the issue with the loading icon might go away as well. I haven't looked too deeply at the code but if you inspect a kendo.data.DataSource instance you'll find some private properties like _pending or _requestInProgress that are probably used by the UI widgets. As you are not using kendo.data.Datasource for retrieving the data those will most likely not updated correctly.

    Rainer
  8. Michael
    Michael avatar
    2 posts
    Member since:
    Feb 2009

    Posted 30 Sep 2011 Link to this post

    @Rainer: that is really good info and will be handy for custom datasources.

    By accident I was able to get the Kendo ODATA datasource to work without any modifications. The format is:
    dataSource: {
        type: "odata",
        transport: {
            read: {
                url: "[url]",
                dataType: "json"
            }
        }
    }

    Works great with SharePoint 2010. Of course the SharePoint client api would work just as well.
    Another interesting item I found is that the Microsoft DataJS script works with ODATA cross domain without JSONP.
  9. David
    David avatar
    8 posts
    Member since:
    Sep 2011

    Posted 04 Dec 2011 Link to this post

    Hello,

    I am trying to use a SharePoint list in a grid using one of the examples but no entries appear. Can you guys spot something obvious?

    <div id="example" class="k-content">
                <div id="grid"></div>
                <script>
                    var dateRegExp = /^\/Date\((.*?)\)\/$/;


                    function toDate(value) {
                        var date = dateRegExp.exec(value);
                        return new Date(parseInt(date[1]));
                    }


                    $(document).ready(function() {
                        $("#grid").kendoGrid({
                            dataSource: {
                                type: "odata",
                                transport: {
                                    read: {
                                    url: "http://testserver/sites/testsite/_vti_bin/listdata.svc/TestList",
                                    dataType: "json"
                                    }
                                },
                                schema: {
                                    model: {
                                        fields: 
                                        {
                                            Title: { type: "string" },
                                            Created: { type: "date" }
                                        }
                                    }
                                },
                                pageSize: 10,
                                serverPaging: true,
                                serverFiltering: true,
                                serverSorting: true
                            },
                            height: 250,
                            filterable: true,
                            sortable: true,
                            pageable: true,
                            columns: 
                            [
                            "Title",                            
                            {
                            field: "Created",
                            template: '#= kendo.toString(toDate(Created), "MM/dd/yyyy")#'
                            }
                            ]
                        });
                    });
                </script>
            </div>
  10. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 05 Dec 2011 Link to this post

    David, I tried this the other without luck either.  Pretty much identical code as you and I couldn't return anything.  Same code, different odata source = no problem. 
  11. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 05 Dec 2011 Link to this post

    You see two params ($format and $callback) in the query that are causing issues with SP ODATA implementation.
    .../_vti_bin/listdata.svc/Testlist?$format=json&$inlinecount=allpages&$callback=callback&$top=10

    When using individual js files kendo.data.odata.js correctly extends kendo.data to ommit those two params.

    This seems to be broken when using kendo.all.js. Wish KendoUI would support modules in AMD format, that would help avoiding issues like that :).

    <script src="../../source/js/kendo.core.js"></script>
            <script src="../../source/js/kendo.model.js"></script>
            <script src="../../source/js/kendo.data.js"></script>
            <script src="../../source/js/kendo.data.odata.js"></script>
            <script src="../../source/js/kendo.grid.js"></script>
            <script src="../../source/js/kendo.list.js"></script>
            <script src="../../source/js/kendo.pager.js"></script>
            <script src="../../source/js/kendo.sortable.js"></script>
            <script src="../../source/js/kendo.filtermenu.js"></script>
            <script src="../../source/js/kendo.popup.js"></script>
            <script src="../../source/js/kendo.selectable.js"></script>
            <script src="../../source/js/kendo.dropdownlist.js"></script>
            <script src="../../source/js/kendo.numerictextbox.js"></script>
          <script src="../../source/js/kendo.calendar.js"></script>  
          <script src="../../source/js/kendo.datepicker.js"></script>

    Rainer
  12. David
    David avatar
    8 posts
    Member since:
    Sep 2011

    Posted 05 Dec 2011 Link to this post

    Dear Rainer,

    I am not using kendo.all, I am using the individual files. 

    Would be nice to get a response from Michael how he implemented this?
  13. Michael
    Michael avatar
    2 posts
    Member since:
    Feb 2009

    Posted 05 Dec 2011 Link to this post

    When I had it working it was with the KendoUI beta 1. I tested it with beta 2 and it stopped working. 

    You can use the data.js library to make it work:
    http://datajs.codeplex.com/

    I did make a sample, with beta 2, where the page I have it is hosted within SharePoint and accesses the SP object model directly but it has weird issues with the controls only partially populating and freezing.

    I havn't tried the release version yet.


  14. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 05 Dec 2011 Link to this post

    Looking at that stuff right now in 1.0 files.

    For a quick hack modify kendo.data.odata.js

                    parameterMap: function(options) {
                        var result = ["$format=json", "$inlinecount=allpages", "$callback=callback"],
     to

                    parameterMap: function(options) {
                        var result = ["$inlinecount=allpages"],

    Once you got it working use information earlier in that thread to create your own adapter.
  15. David
    David avatar
    8 posts
    Member since:
    Sep 2011

    Posted 06 Dec 2011 Link to this post

    Dear Rainer,

    I still cannot get this to work. Did your hack work for you?

    Thanks,
    David
  16. Peter
    Peter avatar
    4 posts
    Member since:
    Dec 2011

    Posted 06 Dec 2011 Link to this post

    Hi all,

    Changing kendo.data.odata.js works and causes my WCF data service to return data.

    However, I'm still not getting Kendo to process the data and display it in a grid. I'm using a standard task list in SP2010 as datasource and I've verified with Fiddler that I'm actually getting data back from the service. But Kendo is not processing the data and displaying it in the grid.

    Below is my source.

    Any comments on this?

    Best regards,
    Peter

            <script>


                $(document).ready(function () {


                    var sharableDataSource = new kendo.data.DataSource({
                        type: "odata",
                        transport: {
                            read: "http://sp2010/_vti_bin/listdata.svc/Tasks"
                        },
                        pageSize: 10,
                        serverFiltering: true,
                        serverPaging: true,
                        serverSorting: true     
                    });


                    $("#grid").kendoGrid({
                        dataSource: sharableDataSource,
                        height: 250,
                        scrollable: true,
                        sortable: true,
                        pageable: true,
                        columns: ["Title", "StatusValue", "Description  "]
                    });


                });
     


            </script>
  17. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 06 Dec 2011 Link to this post

    @Peter: Are you defining your table inside the #grid div?
    If not you'd need to define the appropriate schema in your kendo.data.Datasource.

    @David: Yes that works for me both with your testlist and on an OOTB tasks list.


      <body>
       
    <div id="example" class="k-content">
                <div id="grid"></div>
                <script>
                    var dateRegExp = /^\/Date\((.*?)\)\/$/;

                    function toDate(value) {
                        var date = dateRegExp.exec(value);
                        return new Date(parseInt(date[1]));
                    }

                    $(document).ready(function() {
                        $("#grid").kendoGrid({
                            dataSource: {
                                type: "odata",
                                transport: {
                                    read: {
                                    url: "http://2010dev/sites/kendoui/ODATA/_vti_bin/listdata.svc/Tasks",
                                    dataType: "json"
                                    }
                                },
                                schema: {
                                    model: {
                                        fields:
                                        {
                                            Title: { type: "string" },
                                            Created: { type: "date" },
                                            StatusValue: { type: "string" }
                                        }
                                    }
                                },
                                pageSize: 10,
                                serverPaging: true,
                                serverFiltering: true,
                                serverSorting: true
                            },
                            height: 250,
                            filterable: true,
                            sortable: true,
                            pageable: true,
                            columns:
                            [
                            "Title",                           
                            {
                            field: "Created",
                            template: '#= kendo.toString(toDate(Created), "MM/dd/yyyy")#'
                            },
                            "StatusValue"
                            ]
                        });
                    });
                </script>
            </div>
        </body>

  18. Peter
    Peter avatar
    4 posts
    Member since:
    Dec 2011

    Posted 06 Dec 2011 Link to this post

    @Rainer,

    Nope, doesn't work. Below is copy of my entire file. Only difference between yours and mine is header and URL to odata service.

    It doesn't even call the odata feed to get data.

    Getting this to work should be a no-brainer.

    /peter

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <script src="js/jquery.min.js" type="text/javascript"></script>
        <script src="js/jquery.tmpl.min.js" type="text/javascript"></script>
        <link href="styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
        <link href="styles/kendo.default.min.css" rel="stylesheet" type="text/css" />
        <script src="js/kendo.core.min.js"></script>
            <script src="js/kendo.model.min.js"></script>
            <script src="js/kendo.data.min.js"></script>
        
        <script src="js/kendo.data.odata.min.js" type="text/javascript"></script>
            <script src="js/kendo.grid.min.js"></script>
            <script src="js/kendo.list.min.js"></script>
            <script src="js/kendo.pager.min.js"></script>
            <script src="js/kendo.sortable.min.js"></script>
            <script src="js/kendo.filtermenu.min.js"></script>
            <script src="js/kendo.popup.min.js"></script>
            <script src="js/kendo.selectable.min.js"></script>
            <script src="js/kendo.dropdownlist.min.js"></script>
            <script src="js/kendo.numerictextbox.min.js"></script>
          <script src="js/kendo.calendar.min.js"></script>   
          <script src="js/kendo.datepicker.min.js"></script>
    </head>
      <body>
        
    <div id="example" class="k-content">
                <div id="grid"></div>
                <script>
                    var dateRegExp = /^\/Date\((.*?)\)\/$/;


                    function toDate(value) {
                        var date = dateRegExp.exec(value);
                        return new Date(parseInt(date[1]));
                    }


                    $(document).ready(function () {
                        $("#grid").kendoGrid({
                            dataSource: {
                                type: "odata",
                                transport: {
                                    read: {
                                        url: "http://sp2010/_vti_bin/listdata.svc/Tasks",
                                        dataType: "json"
                                    }
                                },
                                schema: {
                                    model: {
                                        fields:
                                        {
                                            Title: { type: "string" },
                                            Created: { type: "date" },
                                            StatusValue: { type: "string" }
                                        }
                                    }
                                },
                                pageSize: 10,
                                serverPaging: true,
                                serverFiltering: true,
                                serverSorting: true
                            },
                            height: 250,
                            filterable: true,
                            sortable: true,
                            pageable: true,
                            columns:
                            [
                            "Title",
                            {
                                field: "Created",
                                template: '#= kendo.toString(toDate(Created), "MM/dd/yyyy")#'
                            },
                            "StatusValue"
                            ]
                        });
                    });
                </script>
            </div>
        </body>
    </html>

  19. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 06 Dec 2011 Link to this post

    Seems like I'm running into the same types of issues with Sharepoint 2010.  After modifying the kendo.data.odata.js, I know that data is being returned (thank you firebug) but it seems that I can't get it to display in the grid.  My code looks identical (except for obvious URL and fields returned) to what Rainer posted.  I can change it to use the netflix odata source (and change the kendo.data.odata.js) and it immediately fills the grid.  It must be the schema or how Sharepoint formats the returned data, or, we're all missing something obvious.
  20. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 06 Dec 2011 Link to this post

    There's one piece missing in the examples in this thread....

    For Sharepoint you need to update the schema section and tell the datasource how the odata feed returns data.  This is the only addition you would need to make to Peter's example to get it to work.  Note the bolded    data:  "d.results",    addition.  Hopefully this helps someone.
                   schema: {
                               data: "d.results",
                      model: {
                         fields:
                             {
                            Title: { type: "string" },
                            Created: { type: "date" },
                            StatusValue: { type: "string" }
                              }
                             }
                     };
                               
  21. Peter
    Peter avatar
    4 posts
    Member since:
    Dec 2011

    Posted 07 Dec 2011 Link to this post

    @Clint,

    Thnx for your quick reply.

    Unfortunately it still doesn't work. Data is returned - but the grid isn't populated. I'm pulling my hair out right now.

    Also, why is it required to document the model coming back from the odata source? This is not a requirement when using straight json from a file. Using odata with Kendo really feels second grade, when it should be point, grid or chart and you're cooking with gas.

    Telerik, please jump onboard and solve this issue.

    Best regards,
    Peter
  22. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 07 Dec 2011 Link to this post

    Hi Peter,

     We are not sure what the problem may be in your case. Can you confirm that your service is returning JSON? Is there any way to reproduce your configuration at our side?

    Greetings,
    Atanas Korchev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  23. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 07 Dec 2011 Link to this post

    Well, now I'm completely at a loss.  There's something strange going on here.  With several lists, I can get kendo to return data.  We're talking bare bones, only testing the title field so it's broken down to a minimum.  I created that tasklist above just to test this out and it worked.  Another list that was previously created, I can not bring back any data to the UI at all.  Same exact code, I know I have the column name right since it's the default "Title" and the UI is blank.  In Firebug I absolutely know that I'm getting a response with JSON formatted data returned, but the Kendo grid brings back nothing.  Created another brand new list and it worked.  On yet another list I created yesterday I can't bring back data.  That's using the exact same code, with just title field, only changing URL.  Does not make sense at all.
  24. Peter
    Peter avatar
    4 posts
    Member since:
    Dec 2011

    Posted 07 Dec 2011 Link to this post

    @Atanas,

    I'm using a vanilla installation of SP2010 Enterprise with SP1 (with all updates and the ADO.NET update to fix oData). The datasource is the standard /_vti_bin/listdata.svc from any site.

    After doing some investigation with Fiddler it turns out that the odata service in SharePoint will not return JSON with any of the standard (or previously mentioned changes to .odata.js). However the "standard" online odata feeds like:

    http://services.odata.org/Northwind/Northwind.svc
    http://odata.netflix.com/v2/Catalog/

    Do return data as JSON when called through Kendo.

    Usually it's possible to force odata to return JSON by adding contentType: "application/json" to the request header. But somehow this isn't happening when using Kendo.

    Not really sure where to go from here.

    Best regards,
    Peter

  25. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 07 Dec 2011 Link to this post

    Hello,

     Currently the Kendo DataSource will work only with OData services which can serve JSON responses. OData services which can only return XML must be configured as a XML datasources. Have in mind though that in this case the remote service should live in the same domain. There is a well known limitation of the XMLHTTPRequest to work only in same domains. JSONP indeed works cross domain but can only deliver JSON responses.

     We currently don't have a SP2010 Enterprise with SP1 at our disposal. Is there any public test instance which we can test with?

    Regards,
    Atanas Korchev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  26. warfee
    warfee avatar
    1 posts
    Member since:
    Aug 2007

    Posted 11 Jan 2012 Link to this post

    Guys,

    Just an update to this thread re: JSON and sharepoint 2010. I have used the SPServices available at codeplex, and have added the GetJSONListData modification, this allows the XML to be transformed into JSON. My code now look something like this when populating the Kendo datasource.

                var projData = $().SPServices.GetJSONListData({
                    listName: "Announcements", // don't forget - its list NAME, not an Url
                    columns: ["ID", "Title", "Created"],
           debug: true
                });

               $("#grid").kendoGrid({
                    dataSource: {
                        data: projData,
                        schema: {
    data: "rows",
                            model: {
                                fields:
                                                {
                                                    Title: { type: "string" },
                                                    Created: { type: "date" }
                                                }
                            }
                        },
                        pageSize: 10,
                        serverPaging: true,
                        serverFiltering: true,
                        serverSorting: true
                    },
                    height: 250,
                    filterable: true,
                    sortable: true,
                    pageable: true,
                    columns:
                                        [
                                        "Title",
                                        {
                                            field: "Created",
                                            template: '#= kendo.toString(new Date(Date.parse(Created)), "dd MMM HH:mm")#'
                                        }
                                        ]
                });

    I need help in getting the date to display correctly though. See attached modified SPServices file.
  27. RainerAtSpirit
    RainerAtSpirit avatar
    4 posts
    Member since:
    Jul 2009

    Posted 11 Jan 2012 Link to this post

    SPServices works as a wrapper around *.asmx web services that are available in 2007 and 2010. These are "old style" XML SOAP services. In 2010 there's a new service (sitename/_vti_bin/listdata.svc) that provides a generic ODATA access to your SharePoint lists and libraries. The last way to access information is through the client side  object model (CSOM).

    From the three options only listdata.svc is handled by the KendoUI ODATA implementation. It uses a mapping to ODATA terms like like $top, $skip, $inlinecount, etc (see http://www.odata.org/developers/protocols/uri-conventions for full list) to abstract the underlying data source and provide an interface to their widgets.

    If you choose to use one of the other options it would be up to you to provide such an wrapper. This blog post should get you started http://www.kendoui.com/blogs/teamblog/posts/11-08-25/shields_up_web_service_abstraction_with_kendo_ui.aspx

    Rainer
  28. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 11 Jan 2012 Link to this post

    Heads-up all, the new alpha of SPServices offers a json output.  I've actually tested this out and it works well with SP2010.

    http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPXmlToJson


    As far as Sharepoint 2010 goes, if you're looking to use listdata.svc and have it be accessed anonymous, and use claims in an extended webpapp, you're going to run into issues.  I could never get anonymous access to work for listdata.svc.  Even though I could access the full list anonymously, whenever I tried hitting listdata.svc to pull any data back it wanted authentication.

    The good thing about Sharepoint is there area ton of options for accessing the lists.  The client-object model is fairly easy to use and you can get your output in an array relatively easy.  You can also pull the contact via the server-side via a DataViewWebPart and then customize the XSLT so that it returns HTML data in just about any fashion you want.  I can give examples of both of those if needed.
  29. Madhusudhanan Ramanujam
    Madhusudhanan Ramanujam avatar
    3 posts
    Member since:
    Apr 2010

    Posted 01 Feb 2012 Link to this post

    Using SPServices and Kendo UI I was able to get the data to show in a sharepoint page, but the filters, paging etc do not seem to work properly.

    Any solutions?
  30. Madhusudhanan Ramanujam
    Madhusudhanan Ramanujam avatar
    3 posts
    Member since:
    Apr 2010

    Posted 02 Feb 2012 Link to this post

    I have made it work with JSON.

    In kendo.data.odata.js comment the lines
    jsonp: "$callback" and
    $format: "json"

    Sharepoint code below (aspx page inside sharepoint, all js and css files are referenced from a document library)

    js/css references and below code was placed inside <asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> 

            <script id="NameTemplate" type="text/x-kendo-tmpl">                
                <span> ${ CreatedBy.LastName }, ${CreatedBy.FirstName} </span>                   
            </script>

            <div id="example" class="k-content">
                 <div id="grid"></div>

            <script type="text/javascript">

                    $(document).ready(function() {

                        $("#grid").kendoGrid({
                            dataSource: {
                                type: "odata",
                                transport: {
                                    read:
                                    {
                                        url: "http://sharepointsite/_vti_bin/ListData.svc/ListSample?$expand=CreatedBy",
                                        contentType: "application/json; charset=utf-8" ,
                                        type: "GET",
                                     
       dataType: "json"
                                    }
                                },
                                schema: {                               
                                    model: {
                                        fields: {
                                            Title: { type: "string" },
                                            CreatedBy:
                                            { 
                                                 FirstName: {type: "string" },
                                                 LastName: {type: "string" },
                                            },
                                            Id: { type: "number" }
                                        }
                                    }
                                },
                                pageSize: 10,
                                serverPaging: true,
                                serverFiltering: true,
                                serverSorting: true
                            },
                            height: 250,
                            filterable: true,
                            sortable: true,
                            pageable: true,
                            columns: [
                                { field: "Title" },
                                { field: "Id" },
                                { 
                                       title: "Created By",
                                       template: kendo.template($("#NameTemplate").html())
                                } ]
                        });
     });
    </script>
    </div>


    The important change is 

    contentType: "application/json; charset=utf-8" ,
    type: "GET",

  31. Clint
    Clint avatar
    56 posts
    Member since:
    Feb 2011

    Posted 24 Feb 2012 Link to this post

    Can't get this to work now that I upgraded to the newest KendoUI version.  Granted, it's probably that I can't find my edited kendo.data.odata.js file but perhaps not.

    Anybody have an example of a working file and the js you used to get it to work?  The error I get is 
    The query parameter '$callback' begins with a system-reserved '$' character

    I realize I could go this route... http://archive.msdn.microsoft.com/DataServicesJSONP  but isn't that for custom services?  Not sure how to apply that Sharepoint's default web services.

    Anyway, anybody using a recent kendo version with Sharepoint 2010 and have it working?
Back to Top
Kendo UI is VS 2017 Ready