1

Kendo tabstrip 接受通过 HTTP GET 作为 ajax 加载 ContentUrl 的内容,有没有办法通过 POST 加载此内容?

剑道标签条接受用于加载内容的kendo.data.Datasource

http://dojo.telerik.com/EmECOy

$("#tabstrip").kendoTabStrip({
    dataTextField: "Name",
    dataContentUrlField: "ContentUrl",
    dataSource: [
      { Name: "Tab1", ContentUrl: "http://demos.telerik.com/kendo-ui/content/web/tabstrip/ajax/ajaxContent1.html" },
      { Name: "Tab2", ContentUrl: "http://demos.telerik.com/kendo-ui/content/web/tabstrip/ajax/ajaxContent2.html" }
    ]
});

kendo.data.DataSource有一个可用的“POST”READ类型,但我不知道是否可以将此机制插入到 tabstrip 的内容加载中。或者我是否坚持使用 AJAX GET 调用来检索它?

4

1 回答 1

-1

这是我绕过用于加载内容的内置选项卡机制的解决方案:http: //dojo.telerik.com/omOre

选项卡定义中的空内容 url:

jQuery(function(){jQuery("#tabstrip").kendoTabStrip({"select":onselect,"activate":onactivate,"contentLoad":onContentLoad,"animation":false,"contentUrls":["","","",""]});});

//Track our content
var tabcontent = [{"contentloaded":true},{"url":"http://demos.telerik.com/kendo-ui/content/web/tabstrip/ajax/ajaxContent1.html"},{"url":"http://demos.telerik.com/kendo-ui/content/web/tabstrip/ajax/ajaxContent2.html"},{"url":"http://demos.telerik.com/kendo-ui/content/web/tabstrip/ajax/ajaxContent3.html"} ];

实现“选择”事件 - 确定我们是否应该通过 AJAX 加载选项卡(发布) - 跟踪选项卡是否已加载

//When selected, if ajax and not not loaded - load the content
  function onselect(e) {
      console.log("select");            
        var index = $(e.item).index();
        var taburl =    tabcontent[index].url;
        var contentloaded = tabcontent[index].contentloaded;

          if(taburl !== "" && contentloaded !== true)
          {
              //get reference to the TabStrip widget
            var ts = $("#tabstrip").data("kendoTabStrip");

            //get the tab content
            var item = ts.contentElement(index);                 

            $.ajax({
              type: "get",//simple change! "post",
              url: taburl,
              success: function (response) {                         
                $(item).html(response);
                tabcontent[index].contentloaded = true;
                console.log("Tab Index: " + index + ", Url: " + taburl + " [[ajax success]]");
              }
            });
              }
          }
于 2016-08-10T18:54:43.107 回答