Получить критическую ошибку во время запроса Json с помощью Kendo UI

0

У меня проблема. В моей компании мне нужно попробовать, как Angular.js работает вместе с ASP.NET MVC. Теперь я хочу создать простое небольшое приложение. На первой странице есть вид с сеткой пользовательского интерфейса Kendo. Внутри моего файла App.js я читал данные с моего контроллера Data. Действие Controller Action вызывается, но как только код будет выполнен, я получаю следующую ошибку:

Изображение 174551

Вот остальная часть моего кода:

контроллер:

[HttpGet]
public JsonResult GetEmergencyRegions([DataSourceRequest]DataSourceRequest request, string searchterm)
{
    var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
    return Json(emergencyRegions.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

App.js

$scope.gridOptions = {
    columns: [{
        field: "Description",
        title: "Beschreibung"
    }, {
        field: "Region",
        title: "Region"
    }, {
        field: "Phone",
        title: "Telefon"
    }, {
        field: "HasPointOfSale",
        title: "PoS"
    }],
    pageable: true,
    dataSource: {
        pageSize: 5,
        transport: {
            read: function (e) {
                $http.jsonp('/Data/GetEmergencyRegions')
                  .then(function success(response) {
                      e.success(response.data);
                  }, function error(response) {
                      alert('something went wrong')
                      console.log(response);
                  })
            }
        }
    }
};

Просмотр с помощью сетки

<kendo-grid options="gridOptions">

</kendo-grid>

В Stackoverflow я уже нашел что-то с добавлением ?callback=JSON_CALLBACK к jsonp URL но это не помогло.

уведомление

Когда я JsonRequestBehavior.AllowGet внутри моего контроллера, я не получаю ошибку, но затем получаю status Code 404.

  • 0
    если вы используете jsonp, вы должны добавить этот обратный вызов, ошибка остается той же самой с обратным вызовом?
  • 0
    @ koox00 Да та же ошибка с обратным вызовом.
Теги:
asp.net-mvc
kendo-grid

2 ответа

0
Лучший ответ

Нашел решение. Было несколько изменений:

  1. Удалите DataSourceRequest в контроллере. С этим изменением исчезает критическая ошибка JavaScript.

    public JsonResult GetEmergencyRegions(string searchterm)
    {
        var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
        return Json(emergencyRegions, JsonRequestBehavior.AllowGet);
    }
    
  2. У меня теперь была ошибка 404 в моем App.js. Решение для этого меняется jsonp, чтобы get. Я нашел это решение в следующей ссылке: AngularJS: как сделать запрос jsonp

    read: function (e) {
         $http.get('/Data/GetEmergencyRegions?callback=JSON_CALLBACK')
             .then(function success(response) {
                  e.success(response.data);
              }, function error(response) {
                  alert('something went wrong')
                  console.log(response);
         })
    }
    
  3. Запустите решение и будьте счастливы :-)

0

Кажется, вы избыточны "," в App.js

+ Изменить

 columns: [{
    field: "Description",
    title: "Beschreibung",
},

в

 columns: [{
    field: "Description",
    title: "Beschreibung"
},

Надеюсь, это поможет.

  • 0
    Спасибо за это, но к сожалению это не решило ошибку ...
  • 0
    Может быть, поможет вам stackoverflow.com/questions/14507334/…
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню