Кнопка угловой формы не может быть нажата - PullRequest
0 голосов
/ 16 января 2019

У меня есть простая форма для оплаты:

   <form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8">
       <input  name="data" value="{{data}}" />
       <input  name="signature" value="{{signature}}" />
       <input type="image" src="//static.liqpay.ua/buttons/p1ru.radius.png" />
   </form>

Проблема в том, что я не могу нажать кнопку оплаты, она просто не работает enter image description here

Я могу заверить вас, что форма работает, я проверил это на C # с некоторыми изменениями:

<div class="container">
    <form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8">
        <input type="hidden" name="data" value="@ViewData["PaymentData"]" />
        <input type="hidden" name="signature" value="@ViewData["Signature"]" />
        <input type="image" src="//static.liqpay.ua/buttons/p1ru.radius.png" />
    </form>
</div>

И все параметры переданы правильно. Кажется, что Angular не позволяет мне перейти по ссылке или что-то в этом роде. Помогите пожалуйста.

UPDATE

Хорошо, я изменил форму следующим образом:

   <form [formGroup]="payForm" (ngSubmit)="LiqPay()" #formDir="ngForm"  novalidate>
      <input formControlName="data" name="data" value="{{data}}" />
      <input formControlName="signature" name="signature" value="{{signature}}" />
      <button type="submit" class="btn btn-default" ng-href="https://www.liqpay.ua/api/3/checkout">go</button>
   </form>

с методом LiqPay:

  LiqPay(){
      let headers = new Headers();
      headers.append('Content-Type', 'application/json');

      this.payForm.value.data = this.data;
      this.payForm.value.signature = this.signature;
      this._http.post('https://www.liqpay.ua/api/3/checkout', 
      this.payForm,{headers}).map((response: Response) => response.json());
}

Теперь я предполагаю, что запрос отправлен, но он не перенаправляет на нужную ссылку (https://www.liqpay.ua/api/3/checkout). Так как я могу изменить форму для перенаправления на эту ссылку с данными поста?

1 Ответ

0 голосов
/ 16 января 2019

В методе LiqPay вы пытаетесь отправить почтовый запрос на https://www.liqpay.ua/api/3/checkout. И в кнопке у вас есть атрибут ng-href (пытаясь перейти по этому URL в браузере). Я думаю, что это не правильно. Вы отправляете асинхронный запрос и одновременно отправляете своего пользователя на этот URL.

Я могу понять, вы отправляете форму для оплаты заказа? хорошо, вы можете использовать действие в форме, точно так же, как пример C #.

Я проверил ваш исходный код

<form method="POST" action="https://www.liqpay.ua/api/3/checkout" accept-charset="utf-8">
       <input  name="data" value="{{data}}" />
       <input  name="signature" value="{{signature}}" />
       <input type="image" src="//static.liqpay.ua/buttons/p1ru.radius.png" />
</form>

И это работает ... Вы можете просмотреть это здесь: https://jsfiddle.net/L1ruajzn/

...