Включить / отключить кнопку на основе ответа Http - PullRequest
1 голос
/ 10 октября 2019

В настоящее время я разрабатываю Angular App с .net в качестве Backend. Я ищу руководство о том, как включить кнопку в Angular, когда успешный запрос публикации ajax или когда ответ готов на бэкэнд (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...:(');

 },
  });
}

контроллер

  [HttpPost]
   public IActionResult Postdata([FromBody] RootObject data)
   {
        var data1 = JsonConvert.SerializeObject(data)
        return Ok(data1);

   }

Пожалуйста, сообщите мне об этом. Заранее спасибо.

1 Ответ

1 голос
/ 10 октября 2019

Объявите that = 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...:(');

 },
  });
}

Примечание. В Angular следует использовать HttpClient

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...