简单 Post 请求 Angular 2 类型或型号
Simple Post Request in Angular 2 with type or model
现在我正在尝试提出一个简单的 post 请求。这是表格
<label for="name">Name</label>
<input type="text" id="value" [(ngModel)]="value" />
<input type="button" value="Get Name" (click)="getName(value)" />
这里是 .ts
import { Component, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-home',
templateUrl: './add-name.component.html'
})
export class FetchNameComponent {
chosenName: string;
constructor(
private http: HttpClient
)
{
}
getName(value): void {
this.chosenName = value
alert(this.chosenName)
this.http.post("NameItem", this.chosenName).subscribe(result => {
console.log(result);
}, error => console.error(error));
}
}
我的警报显示了正确的值,所以我知道到目前为止一切正常
这是我的控制器
[HttpPost]
public String Post(String chosenName)
{
string newName = chosenName + "123";
return newName;
}
chosenName 始终为 null,所以出了点问题。我很好奇如何使用 angular2
将类型和对象发送到 post 请求中
如果我想通过它发送一个对象,它看起来会相似吗?
我假设后端是 C# .net。如果是这样,您的 api 期望的是查询字符串中的 'chosenName' 。所以,你 post url 应该是 /apiUrl/?chosenName="somename"
因此,您的 post 请求应如下所示:
this.http.post("/apiUrl/?chosenName=" + this.choosenName).subscribe(result => {
console.log(result);
}, error => console.error(error));
但是如果你想 post 它在数据中而不是在 url 中,你可能需要修改你的 api。这是一个good article
然后,可以通过post传递更复杂的对象:
const data = {chooseName: this.chooseName, anotherValue: "someValue"};
this.http.post("/apiUrl/", data).subscribe(result => {
console.log(result);
}, error => console.error(error));
现在我正在尝试提出一个简单的 post 请求。这是表格
<label for="name">Name</label>
<input type="text" id="value" [(ngModel)]="value" />
<input type="button" value="Get Name" (click)="getName(value)" />
这里是 .ts
import { Component, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-home',
templateUrl: './add-name.component.html'
})
export class FetchNameComponent {
chosenName: string;
constructor(
private http: HttpClient
)
{
}
getName(value): void {
this.chosenName = value
alert(this.chosenName)
this.http.post("NameItem", this.chosenName).subscribe(result => {
console.log(result);
}, error => console.error(error));
}
}
我的警报显示了正确的值,所以我知道到目前为止一切正常
这是我的控制器
[HttpPost]
public String Post(String chosenName)
{
string newName = chosenName + "123";
return newName;
}
chosenName 始终为 null,所以出了点问题。我很好奇如何使用 angular2
将类型和对象发送到 post 请求中如果我想通过它发送一个对象,它看起来会相似吗?
我假设后端是 C# .net。如果是这样,您的 api 期望的是查询字符串中的 'chosenName' 。所以,你 post url 应该是 /apiUrl/?chosenName="somename"
因此,您的 post 请求应如下所示:
this.http.post("/apiUrl/?chosenName=" + this.choosenName).subscribe(result => {
console.log(result);
}, error => console.error(error));
但是如果你想 post 它在数据中而不是在 url 中,你可能需要修改你的 api。这是一个good article
然后,可以通过post传递更复杂的对象:
const data = {chooseName: this.chooseName, anotherValue: "someValue"};
this.http.post("/apiUrl/", data).subscribe(result => {
console.log(result);
}, error => console.error(error));