我不会粘贴任何代码,因为这是一个普遍的问题。如果没有任何回报,我需要弄清楚如何听。由于没有任何东西存在,我无法获得任何物品。我只收到我的GET
请求消息“400 (Bad Request)
”。(控制台)。如何使用Angular * ngIf监听400(错误请求)?
如何禁用按钮如果有“400 (Bad Request)
”(不存在)?
有没有办法在前端听这个?
谢谢
我不会粘贴任何代码,因为这是一个普遍的问题。如果没有任何回报,我需要弄清楚如何听。由于没有任何东西存在,我无法获得任何物品。我只收到我的GET
请求消息“400 (Bad Request)
”。(控制台)。如何使用Angular * ngIf监听400(错误请求)?
如何禁用按钮如果有“400 (Bad Request)
”(不存在)?
有没有办法在前端听这个?
谢谢
在Angular2中,您需要从响应中捕获错误。
badRequest: boolean = false;
this.appService.myHttpCall.subscribe(
data => // do something with success,
error => {
if(error.status == 400){
this.badRequest = true;
}
});
并在您的模板中使用结果。如果你真的想要去的*ngIf
路线,你这样做:
<button *ngIf="badRequest" type="button" disabled>My Button</button>
<button *ngIf="!badRequest" type="button">My Button</button>
您将基本上必须编写两个按钮,都与*ngIf
语句来得到你想要的结果。
如果你想使用[disabled]
属性你可以这样做:
<button [disabled]="badRequest" type="button">My Button</button>
不过,我不会,如果一个错误请求发生禁用的按钮,因为那样的话怎么会后用户正确填写其重新提交表单出来吗?例如,如果用户将必填字段留空,则服务器将返回一个BadRequest并禁用该按钮。然后,用户无法更正缺少的字段并重新提交表单。
我会做什么,而不是是基于表单的这样的有效性切换按钮的disabled
属性:
<form (ngSubmit)="onSubmit()" #myForm="ngForm">
...inputs....
<button type="submit" class="btn btn-success" [disabled]="!myForm.valid">SUBMIT</button>
</form>
希望这有助于。
谢谢。这不是一种形式,所以[禁用]完美无缺。 –
太好了。很高兴它对你有效。对不起,我只是假设它是一种形式。 –
只有当我点击它消失的按钮时,它仍然不能在页面加载中工作。我怎样才能让它听到页面加载?纯Javascript,还是? –
由于您没有提供代码,因此很难提供帮助。 (...)。map(...)。subscribe(res => {...},err => {console.log(err.status)}); //将在控制台中写入400。 – Ploppy
从这里开始,你可以用它做你想做的一切。 – Ploppy
请给我一分钟:) –