2017-02-17 6 views
0

Моя установка следующаяКендо UI сетки OData

  • IIS 8.5
  • KendoUI
  • Сервер 2012
  • MSSQL

Я довольно новыми для OData, только что узнал о это из-за kendo ui, где кажется, что это лучший способ получить данные из sql.

Я успешно создал веб-приложение asp.net на C#, чтобы иметь возможность получать одату с моего сервера, если я нахожу это в своем браузере, это работает как шарм, я получаю свою информацию json fromatted.

С тех пор, как я новый, у меня может быть что-то не так, но мой сервис RESTful находится на отдельном сайте, чем мой основной сайт, где я буду использовать сетку кендо. У меня есть Restful на порте 8080, в то время как мой обычный сайт на порту 80

это мой код, где создается моя сетка.

$("#vehiclesGrid").kendoGrid({ 
 
         dataSource: { 
 
          type: "odata", 
 
          transport: { 
 
           read: { 
 
            url: "http://mydomain(security issues):8000/odata/GetVehiclesConfigureds", 
 
            dataType: "json" 
 
           }, 
 
           schema:{ 
 
            model:{ 
 
             fields:{ 
 
              displayName:{type: "string"}, 
 
              sensor:{type: "number"}, 
 
              alertFlag:{type: "number"} 
 
             } 
 
            } 
 
           } 
 
          } 
 

 
         }, 
 
         height: 550, 
 
         groupable: true, 
 
         sortable: true, 
 
         columns: [{ 
 
          field: "displayName", 
 
          title: "Display Name", 
 
          width: 100 
 
         }, { 
 
          field: "sensor", 
 
          title: "# of Sensors" 
 
         }, { 
 
          field: "alertFlag", 
 
          title: "Alert Pending" 
 
         }] 
 
        });
<div id="vehiclesGrid"></div>

и на консоли я получаю следующее сообщение об ошибке:

XMLHttpRequest cannot load http://mydomain(security issues):8000/odata/GetVehiclesConfigureds?%24inlinecount=allpages. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://mydomain(security issues)' is therefore not allowed access.

если я иду к инструментам разработчика в разделе сети я могу увидеть OData информации, извлекаемые правильно, но сетка пуста. Поэтому я не знаю, почему она не отображает ее или даже если она имеет какое-то отношение к этой ошибке на консоли.

ответ

2

Рассматривая эту ошибку, похоже, что у вас проблема CORS. Поэтому включите CORS в приложении ODATA.

Via Код WebApiConfig.cs

config.EnableCors();

YourController.cs

[EnableCors(origins: "http://Yourdomain.website.com", headers: "*", methods: "*")] 
public class YourController: ODataController 
{ 
    //details 
} 
+0

ли я установить что-то для этого, чтобы работать? мой компилятор не может разрешить EnableCors() –

+0

Кроме того, источником в моем контроллере должен быть порт веб-службы или сайт? –

+0

@ pato.llaguno источник - это порт вашего сайта - источник/источник вашего запроса контроллеру Odata – Jaya

Смежные вопросы