Reputation: 23
I am currently developing an Angular App with .net as Backend. I am looking for guidance on how to Enable a button in Angular, when an ajax post request is successful or when the response is ready on backend(c#).
appcomponent.html
<button mat-button (click) = "cvalid()" >submit</button>
<button mat-button id="getdoc" (click) = "getdoc()" [disabled] = "disabled" >Download</button>
appcomponent.ts
cvalid(){
$.ajax({
type: "POST",
url: 'http://localhost:5000/api/D/Postdata',
data: d1,
contentType: "application/json",
success: function (data) {
console.log(data)
console.log(typeof(data));
this.disabled = false ; //button trigger .
},
error: function (data) {
console.log('error in sending data...:(');
},
});
}
controller
[HttpPost]
public IActionResult Postdata([FromBody] RootObject data)
{
var data1 = JsonConvert.SerializeObject(data)
return Ok(data1);
}
Please guide me regarding this. Thanks in Advance.
Upvotes: 1
Views: 1045
Reputation: 22213
Declare that = this
so you have a reference of this
Try like this:
cvalid(){
this.disabled = true;
var that = this;
$.ajax({
type: "POST",
url: 'http://localhost:5000/api/D/Postdata',
data: d1,
contentType: "application/json",
success: function (data) {
console.log(data)
console.log(typeof(data));
that.disabled = false ; //button trigger .
},
error: function (data) {
console.log('error in sending data...:(');
},
});
}
Note: In Angular, you should use HttpClient
Upvotes: 1