Angular in MVCプロジェクトを使用してアクションを呼び出すにはどうすればよいですか?MVCでAngularを使用したWebサービス呼び出し
私はこのようにアヤックスを使用してアクションを呼び出すために管理:
var app = angular.module('toprightSec', ['ng']);
app.controller('NationalityCtrl', ['$scope', function ($scope, $http) {
$scope.items = [];
var items = populateListFromLocalStorage("offices", "Login/GetOffices", 24);
var officelist = "";
for (var i = 0; i < items.length; i++)
{
$scope.items[i] = { "name": read_prop(items[i], 'office_desc'), "guid": read_prop(items[i], 'office_guid') };
}
$scope.reloadPage = function() { window.location.reload(); }
$scope.getResult = function ($index, item) {
$.ajax({
type: 'GET',
async: true,
url: 'Login/ChangeOffice',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {
officeID: $scope.items[$index].guid,
officeName: $scope.items[$index].name,
},
success: function (msg) {
}
});
};
}]);
私はこのような角度に変更する試してみました:
var AngularModule = angular.module('toprightSec', ['ng']);
AngularModule.service('ApiCall', ['http', function ($http) {
var result;
this.PostApiCall = function (controllerName, methodName, obj) {
debugger;
result = $http.post('api/' + controllerName + '/' + methodName,obj).success(function (data, success) {
result = (data);
}).error(function() {
("Something went wrong");
});
return result;
};
}]);
AngularModule.controller('NationalityCtrl', ['$scope', function ($scope, $http, ApiCall) {
$scope.items = [];
var items = populateListFromLocalStorage("offices", "Login/GetOffices", 24);
var officelist = "";
for (var i = 0; i < items.length; i++)
{
$scope.items[i] = { "name": read_prop(items[i], 'office_desc'), "guid": read_prop(items[i], 'office_guid') };
}
$scope.reloadPage = function() { window.location.reload(); }
$scope.getResult = function ($index, item) {
var obj = {
'officeID' : '123',
'officeName' : 'Sample'
}
var result = ApiCall.PostApiCall("Login", "ChangeOffice", obj).success(function (data) {
var data = $.parseJSON(JSON.parse(data));
$scope.message = data;
});
};
}]);
私は「PostApiCallは」ブラウザ上で定義されていない、このエラーを得続けますコンソール。
私はここで何が間違っていますか?
ありがとうございました。
'$ .ajax'の代わりに角度' $ http'を使用します。違いを確認するには、ドキュメントをお読みください。これはコード変換サイトではありませんし、少なくとも開始点を見つけて何かを試してもらうために、角度がどのようにajaxを使っているかを調べるのは非常に簡単だったはずです – charlietfl
何を試しましたか?ここでのアイデアは、実装しようとしたコードを表示することです。私たちはそのコードを手助けします – charlietfl
私はコードの角度バージョンで自分の投稿を更新しました。 – Parkash