![](/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.