2015-02-23 3 views
0

Так что я извиняюсь с самого начала, что я очень новичок в AngularJS.ASP MVC http.post вызов Действие для контроллера с угловым нерабочим

Так что я пытаюсь передать мою модель на мой взгляд обратно на мой контроллер. Я пробовал искать по всему Интернету без везения.

Вот что я прямо сейчас:

(function() { 
    var mod = angular.module('branding', []); 

    mod.controller('BrandingController', ['$scope', '$http', function(brandModel) { 
     brandModel.model = dataModel.Views; 
     brandModel.SelectedName = "a"; 
     brandModel.SelectedDescription = "s"; 
     brandModel.SelectedIsBuiltIn = true; 

     brandModel.selectItem = function(view) { 
      brandModel.SelectedName = view.Name; 
      brandModel.SelectedDescription = view.Description; 
      brandModel.SelectedIsBuiltIn = view.IsBuiltIn; 

     }; 
     brandModel.clearText = function() { 
      brandModel.SelectedName = ""; 
      brandModel.SelectedDescription = ""; 
      brandModel.SelectedIsBuiltIn = ""; 
     }; 

     brandModel.update = function($http) { 
      brandModel.apply(function() { 
      $http.post("@Url.Action("SaveBranding","AirlineConfig")"); 
      //.success and .fail never are triggered when implemented 
      }); 
     }; 
    }]); 
})();  

Мой контроллер

[HttpPost] 
    public ActionResult SaveBranding(BrandingViewModel viewModel) 
    { 
     return View("Branding", viewModel); 
    } 

Я могу вызвать вызов обновления не проблема, но я не вижу вообще ничего из http.post вызов.

Я пробовал только позвонить непосредственно на сервер через сообщение и прямому пути, и это тоже не сработало.

+0

Как выглядит запрос/ответ сети в консоли отладки для '/ AirlineConfig/SaveBranding'? – Jasen

+0

На самом деле вкладка сети ничего не показывала, но консоль действительно отображала это: Не удалось получить сообщение свойства неопределенной или нулевой ссылки –

+0

Если этот угловой код находится в отдельном файле js, то он не будет правильно разбирать и отображать Razor ' @ Url.Action() 'и, вероятно, приведет к ошибке javascript. – Jasen

ответ

1

Вы должны добавить свойство:

mod.controller('BrandingController', ['$scope', '$http', function(brandModel, $http) { 

и вызывать так:

brandModel.update = function() { 
      $http.post("@Url.Action("SaveBranding","AirlineConfig")", brandModel.model); 
      //.success and .fail never are triggered when implemented 
     }; 

Где ваш brandModel.model является BrandingViewModel.

+0

Я изменил свой сценарий, чтобы быть этим, и я все еще получаю TypeError: не удается получить свойство «сообщение» неопределенной или нулевой ссылки –

+0

В конце концов мне нужно было удалить $ http в updat e function –

+0

Ooo, Извините, я схожу с ума. Удалите $ http из 'brandModel.update = function ($ http) {' –

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