Kendo Combobox与odata localhost一起使用但在生产中失败

时间:2013-03-19 21:42:42

标签: kendo-ui kendo-combobox

所以我在使用带有serverFiltering的odata的kendo web组合框中遇到了一个非常奇怪的问题:true

如果我在localhost服务器上使用它,它会请求odata格式并且效果很好。如果它指向数据的外部服务器(使用CORS),则无关紧要。无论哪种方式,它都可以很好地工作,并以预期的方式获取数据等。

但是,只要我将它放在公共域上,使用相同的浏览器就会失败。并且以一种最古怪的方式失败:

它停止传递$ filter属性。并且它停止调用scheme.data函数来正确地解析结果(由于没有过滤器,它成功调用并获取所有结果集)。

此外,它不会将结果应用于下拉列表,因此它会保持为空。

绝对不会抛出任何javascript错误。将断点放在schema.data的函数上会导致它在IE或chrome中永远不会被命中。更改事件和错误事件也是如此。什么都没有。

以下是数据来源:

dsContacts = new kendo.data.DataSource({
    type: "odata",
    serverPaging: true,
    serverSorting: true,
    serverFiltering: true,
    pageSize: 20,
    transport: {
        read: {
            url: User.serviceUrl + "/contact/list"
        }
    },
    schema: {
        data: function (data) {
            if(dsLinks.selectedItem().LinkedToContactID() && dsLinks.selectedItem().LinkedToContact()) {
                data.results.push({
                    ID: dsLinks.selectedItem().LinkedToContactID(),
                    Name: dsLinks.selectedItem().LinkedToContact()
                });
            }
            return data.results;
        }
    },
    error: function (e) {
        tradepointUtilities.ShowErrorAlert("Contact List Get", e);
    }
});

组合定义为:

$("#cbo").kendoComboBox({
      dataTextField: "ID",
      dataValueField: "Name",
      suggest: true,
      datasource: dsContacts,
      filter: "contains",
      autoBind: false,
      delay: 300,
      minLength: 3
});

再次,在localhost上完美运行,在所有浏览器中都以完全相同的方式在生产中失败,没有任何错误。

想法?

0 个答案:

没有答案
相关问题