我如何从 Angular js 调用 WCF Rest 服务的数据合同参数?
How would i call WCF Rest service which datacontract parameter from Angular js?
[OperationContract]
[FaultContract(typeof(DcCustomFaultMessage))]
[WebGet(ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetHistoryData")]
List<DcHistoryData> GetHistoryData(DcHistoryCriteria criteria);
或
有多个参数
[OperationContract]
[FaultContract(typeof(DcCustomFaultMessage))]
[WebGet(ResponseFormat = WebMessageFormat.Json,
RequestFormat=WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetHistoy?ReportingId={ReportingId}&ErrorCode={ErrorCode}&OriginatorCode={OriginatorCode}&PrimaryAssetClass={PrimaryAssetClass}&MessageType={MessageType}&FeedbackType={FeedbackType}&ReportType={ReportType}&RegionCode={RegionCode}&errorstatus={errorstatus}")]
Stream GetHistoryData(string ReportingId, string ErrorCode, string OriginatorCode, string PrimaryAssetClass, string MessageType, string FeedbackType, int ReportType, string RegionCode, string errorstatus);
哪种方法更好?如何从 AngularJS?
调用它
如果服务是在没有参数的情况下通过以下来自 AngularJS 的调用定义的,我可以调用此服务:
$http.get("http://localhost:55467/WCFServiceHost/DFAService.svc/GetHistorydata")
.success(function (result) {
alert('got history data');
$scope.HistoryRejections = $.parseJSON(JSON.parse(result));
}).error(function (data, status, headers, config) {
$scope.attributesData = null;
$scope.showmessage("error", "error");
});
我不知道在多参数或数据合同参数的情况下该怎么做?请帮忙
HTTP GET 请求不能包含要发布到服务器的数据。但是,您可以向请求中添加查询字符串。
angular.http 为其参数提供一个选项
您可以使用:
$http({
url: yourURL,
method: "GET",
params: {ReportingId: '', ErrorCode: ''}
});
或者如果你想使用 $http.get():
$http.get(yourURL, {
params: {ReportingId: '', ErrorCode: ''}
});
[OperationContract]
[FaultContract(typeof(DcCustomFaultMessage))]
[WebGet(ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetHistoryData")]
List<DcHistoryData> GetHistoryData(DcHistoryCriteria criteria);
或
有多个参数
[OperationContract]
[FaultContract(typeof(DcCustomFaultMessage))]
[WebGet(ResponseFormat = WebMessageFormat.Json,
RequestFormat=WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetHistoy?ReportingId={ReportingId}&ErrorCode={ErrorCode}&OriginatorCode={OriginatorCode}&PrimaryAssetClass={PrimaryAssetClass}&MessageType={MessageType}&FeedbackType={FeedbackType}&ReportType={ReportType}&RegionCode={RegionCode}&errorstatus={errorstatus}")]
Stream GetHistoryData(string ReportingId, string ErrorCode, string OriginatorCode, string PrimaryAssetClass, string MessageType, string FeedbackType, int ReportType, string RegionCode, string errorstatus);
哪种方法更好?如何从 AngularJS?
调用它如果服务是在没有参数的情况下通过以下来自 AngularJS 的调用定义的,我可以调用此服务:
$http.get("http://localhost:55467/WCFServiceHost/DFAService.svc/GetHistorydata")
.success(function (result) {
alert('got history data');
$scope.HistoryRejections = $.parseJSON(JSON.parse(result));
}).error(function (data, status, headers, config) {
$scope.attributesData = null;
$scope.showmessage("error", "error");
});
我不知道在多参数或数据合同参数的情况下该怎么做?请帮忙
HTTP GET 请求不能包含要发布到服务器的数据。但是,您可以向请求中添加查询字符串。
angular.http 为其参数提供一个选项 您可以使用:
$http({
url: yourURL,
method: "GET",
params: {ReportingId: '', ErrorCode: ''}
});
或者如果你想使用 $http.get():
$http.get(yourURL, {
params: {ReportingId: '', ErrorCode: ''}
});