Использование ajax post для https API в apache localhost - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь создать страницу входа в систему с начальной загрузкой, где при нажатии на кнопку будет сделан вызов ajax API через «POST», который должен отправить OTP на мой мобильный телефон.

Я запускаю это на apache localhost. При проверке источника я получаю ошибку

HTTP400: BAD REQUEST - The request could not be processed by the server due to invalid syntax.

(XHR)POST - https://<api>

и я не получаю никаких OTP

Я протестировал API на Почтальоне, и они работают. Я пытался работать с синтаксисом, но ничего не получалось.

    <!--body>
    <form class="login100-form validate-form p-l-55 p-r-55 p-t-178" action="/Login_v8/otp.html">
     <span class="login100-form-title">Sign In</span>
     <div class="wrap-input100 validate-input m-b-16" data-validate="Please enter phone number">
      <input class="input100" type="phone" name="Ph" placeholder="Phone number" id="Ph">
      <span class="focus-input100"></span>
     </div>
     <div class="text-right p-t-13 p-b-23">
      <span class="txt1">Forgot</span>
      <a href="#" class="txt2">Username / Password?</a>
     </div>
     <div class="container-login100-form-btn">
      <button class="login100-form-btn" onclick="generate_otp()">Sign in</button>
     </div>
     <!-- other lines of code>
    </form>
    <!--other lines of code>
    <script>
     function generate_otp(){
      var request = new XMLHttpRequest();
      var Ph = document.getElementById('Ph');
      var arr = {Ph: "968*******",
       device:{
        deviceId: "1234"
        platform: "1",
        appType: "0"
       }
      };
      let json = JSON.stringify(arr);
      request.open("POST","<api>", false);
      request.setRequestHeader('Content-type','application/json');
      request.send(JSON.stringify(arr));
     }
    </script>

Он должен отправить OTP на мой телефон.

1 Ответ

0 голосов
/ 17 июня 2019

Возможно ли, что приведенный ниже код неверен

    var arr = {
    Ph: "968*******",
    device: {
        deviceId: "1234"
        platform: "1",
        appType: "0"
    }
};

Отсутствует запятая

        ....
        deviceId: "1234",
        platform: "1",
        .....

Кроме того, вы дважды указали строковый аргумент arr.Вы хотели отправить с этой линии

 let json = JSON.stringify(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...