使用 Angular 向 Asp.net WebService 发送请求
Send a request to Asp.net WebService using Angular
我使用 Postman 执行了一个 WebService,它被正确执行了。现在我想使用 Angular
向 WebService 发送请求
这是 Asp.net 网络服务
这是我的 WebService 的代码
public class Temperature : System.Web.Services.WebService
{
[WebMethod]
public double Farenheit(double celsius)
{
return (celsius * 9) / 5 + 32;
}
[WebMethod]
public double Celsius(double fahrenheit)
{
return (fahrenheit - 32) * 5 / 9;
}
}
这是我如何使用 PostMan 发送请求的屏幕截图,它按预期工作
Screenshot for Calling the WebService using Postman
这是 Angular
的代码
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'text/xml',
})
};
this.http.post('https://localhost:44389/Temperature.asmx/Celsius', '50', httpOptions)
.subscribe(res => {
console.log('Data: ' + res);
})
这是我收到的错误
错误
"System.InvalidOperationException: Request format is invalid: text/xml.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
"
留言
Http failure response for https://localhost:44389/Temperature.asmx/Celsius: 500 OK
姓名
"HttpErrorResponse"
将您的 'Content-Type':'text/xml' 更改为 'Content-Type':'application/json'
试试这个:
import { HttpHeaders } from '@angular/common/http';
setHttpHeader() {
const headers = new HttpHeaders().set('Accept', 'application/json').set('Content-Type', 'application/json');
let options = { headers: headers };
return options;
}
this.http.post('https://localhost:44389/Temperature.asmx/Celsius', '50', this.setHttpHeader())
.subscribe(res => {
console.log('Data: ' + res);
})
我使用 Postman 执行了一个 WebService,它被正确执行了。现在我想使用 Angular
向 WebService 发送请求这是 Asp.net 网络服务
这是我的 WebService 的代码
public class Temperature : System.Web.Services.WebService
{
[WebMethod]
public double Farenheit(double celsius)
{
return (celsius * 9) / 5 + 32;
}
[WebMethod]
public double Celsius(double fahrenheit)
{
return (fahrenheit - 32) * 5 / 9;
}
}
这是我如何使用 PostMan 发送请求的屏幕截图,它按预期工作
Screenshot for Calling the WebService using Postman
这是 Angular
的代码const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'text/xml',
})
};
this.http.post('https://localhost:44389/Temperature.asmx/Celsius', '50', httpOptions)
.subscribe(res => {
console.log('Data: ' + res);
})
这是我收到的错误
错误
"System.InvalidOperationException: Request format is invalid: text/xml.
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
"
留言
Http failure response for https://localhost:44389/Temperature.asmx/Celsius: 500 OK
姓名
"HttpErrorResponse"
将您的 'Content-Type':'text/xml' 更改为 'Content-Type':'application/json'
试试这个:
import { HttpHeaders } from '@angular/common/http';
setHttpHeader() {
const headers = new HttpHeaders().set('Accept', 'application/json').set('Content-Type', 'application/json');
let options = { headers: headers };
return options;
}
this.http.post('https://localhost:44389/Temperature.asmx/Celsius', '50', this.setHttpHeader())
.subscribe(res => {
console.log('Data: ' + res);
})