я хочу отправить файл в api url и получить ответ без перенаправления на него с помощью ajax - PullRequest
0 голосов
/ 15 февраля 2019

приведенный ниже код является формой со ссылкой api action и это мой ajax-запрос

$('#form1').submit(function(e) {
  $.ajax({
    type: "POST",
    url: "http://www.example.com/uploader",
    data: formdata,
    success: function(data) {
      alert(data);
    }
  })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="http://www.example.com/uploader" id="myForm" method="post" name="myForm">
  NDA DOC: <input type="file" name="file1">
  <input type="submit" id="submit">
</form>

когда я отправляю файл на этот API, он отвечает данными, которые я хочу получить, не перенаправляя на него этот код в wordpress site

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вам нужно добавить enctype в тег формы и использовать предотвращение дефолта для предотвращения обновления страницы.

Вам необходимо сериализовать данные и отправить данные.

В области successвам нужно разобраться с ответом.

HTML

<form action="http://www.example.com/uploader" id="form1" method="post" name="myForm" enctype="multipart/form-data">   
  NDA DOC: <input type="file" name="file1">
  <input type="submit"  id="submit">
</form>

JS

 $('#form1').submit(function(e){
    e.preventDefault();
    let data = $( this ).serialize()
    $.ajax({
        type: "POST",
        url: "http://www.example.com/uploader",
        data: data,
        success: function(response){
          // success action here
        },
        error: function(response) {
          // error action here
        }
    });
  });
0 голосов
/ 15 февраля 2019

Вам просто нужно добавить следующий код к вашей функции в вашем событии отправки.

e.preventDefault(); , потому что обычно она отправляет форму.

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