Kendo ui 剑道组合框与odata localhost配合使用,但在生产中失败

Kendo ui 剑道组合框与odata localhost配合使用,但在生产中失败,kendo-ui,kendo-combobox,Kendo Ui,Kendo Combobox,所以我有一个非常奇怪的问题,就是带有odata和serverFiltering的剑道web组合框:true 如果我在本地主机服务器上使用它,它会请求odata格式,效果非常好。不管它是否指向数据的外部服务器(使用CORS)。无论哪种方式,它都工作得很好,并按预期的方式获取数据,等等 然而,一旦我把它放在一个公共领域,使用同一个浏览器,它就失败了。它以一种非常奇怪的方式失败了: 它停止传递$filter属性。它停止调用scheme.data函数来正确解析结果(由于没有筛选器,它成功地调用并获取了所

所以我有一个非常奇怪的问题,就是带有odata和serverFiltering的剑道web组合框:true

如果我在本地主机服务器上使用它,它会请求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
});
同样,它可以在本地主机上完美地工作,在所有浏览器中都会以完全相同的方式在生产环境中失败,不会出现任何错误


想法?

除此之外,自动完成控件工作得很好。服务器的响应是什么?使用浏览器的“网络”选项卡查看。服务器对仅json查询的响应为200 OK,并按预期以正确格式返回所有记录。这就是为什么这么奇怪。控件即使收到了所有这些记录,也根本不会填充下拉列表。因此,它无法使用odata,无法解析和显示数据,并且在LocalHost上运行良好。现在,我发现您的数据源的类型是“webapi”,这是不受支持的。你试过“odata”吗?是的,对不起。webapi只是我复制odata one并修改默认设置。但我试着把它放回“odata”,它也做了同样的事情。还尝试了“json”,因为应该调用schema.Data函数并获得正确的结果,但它也没有帮助。同样的结果。