![](/img/trans.png)
[英]How to send Id and retrieve data related to that ID from database using Web API in .Net
[英]How to POST data from Angular to Web API in order to send email with same data (no database)
用戶添加項目->將模型數據推送到空對象以創建訂單。 從...開始:
$scope.Order = {
details:{},
type1: [],
type2: [],
type3: [],
};
然后:
$scope.addType1 = function ()
$scope.Order.type1.push({
name: $scope.addType1.name,
price: $scope.addType1.price
});
其次是剩余的類型。
我添加了一個WebApi項目(因此現在有兩個項目),並且在API中創建了相同的模型。
我需要做的:將數據從Angular發布到WebAPI,以便可以發送包含訂單數據的電子郵件。
我熟悉Angular中的$ Http方法,但是不確定如何檢查數據是否已傳輸到API,也不確定API控制器需要什么。 我在服務器端代碼方面經驗不足,因此可以提供任何幫助。
另外,如果您需要更多信息,請告訴我,我可以進一步解釋。
var app = angular.module('myApp', ['ui.bootstrap', 'angularUUID2']);
app.controller('myCtrl', ['$scope', '$http', '$q', 'uuid2', function ($scope, $http, $q, uuid2) {
$scope.order = {
details: {},
type1: [],
type2: []
};
$scope.addOrderDetails = function () {
$scope.addOrderDetails.orderId = uuid2.newguid();
$scope.order.details = $scope.addOrderDetails;
};
$scope.addType1 = function () {
$scope.order.type1.push({
xxx: $scope.addType1.xxx,
yyy: $scope.addType1.yyy,
zzz: $scope.addType1.zzz
});
};
$scope.addType2 = function () {
$scope.order.type2.push({
xxx: $scope.addType2.xxx,
yyy: $scope.addType2.yyy,
zzz: $scope.addType2.zzz
});
};
var deferred = $q.defer();
var url = 'http://localhost:xxxxxx/api/order';
var data = $scope.order;
$scope.submitOrder = function () {
$http.post(url, data).success(function (response) {
console.log(response);
deferred.resolve(response)
}).error(function (error) {
console.log(error);
deferred.reject(error)
});
return deferred.promise;
};
}]);
這是OrderController Post方法:
[HttpPost]
public Order Post([FromBody]Order model)
{
return model;
}
那里有$ http服務的文檔,該文檔允許POST和GET。
https://docs.angularjs.org/api/ng/service/ $ http
所以:
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
基本上,如果響應是成功響應(服務器響應為肯定),則執行回調。 失敗也一樣。
uksz是對的!
只是想展示您將如何發布數據
var url = your url to post to here e.g 'www.somedomain.com/orders';
var data = put your data object here e.g. $scope.order;
$http.post(url,data).success(function(response) {
console.log(response);
}).error(function(error) {
console.log(error);
});
您通常希望在這種情況下實現一個promise,您可以這樣做(只需確保在依賴項中包括$ q庫)
var deferred = $q.defer()
var url = your url to post to here e.g 'www.somedomain.com/orders';
var data = put your data object here e.g. $scope.order;
$http.post(url,data).success(function(response) {
console.log(response);
deferred.resolve(response)
}).error(function(error) {
console.log(error);
deferred.reject(error)
});
return deferred.promise
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.