Как вызвать ajax, когда ответ API не пуст? - PullRequest
0 голосов
/ 22 января 2020

Я использую клиентов Shopify / создаю webhook и получаю ответ API с помощью

$info = file_get_contents('php://input');
$data = json_decode($info, true);

Я хочу вызвать ajax, когда $ data не пусто

$.ajax({
    type: "POST",
    url: "insert.php",
    data: {
        'first_name'    : FirstName,
        'last_name'     : LastName,
        'email'         : Email,
        'password'      : Password,
    },
    success: function(res) {
        console.log("test");                      
    }
});

Но это Показывает только значение, когда я проверяю ответ в ngrok inspect. Как сделать так, чтобы ajax срабатывал при получении ответа, помогите с расширением файла. php, потому что я создал частное приложение. Получение ответа со значениями enter описание изображения здесь

1 Ответ

0 голосов
/ 22 января 2020

Вы должны добавить, если условие и запустить ajax, вызвать состояние готовности, я полагаю, вы уже загрузили jQuery в свой проект. Более того, вы не обрабатываете обратные вызовы ошибок с помощью функции ajax, я добавил ее в вашу функцию.

<?php
$info = file_get_contents('php://input');
$data = json_decode($info, true);

 if(!empty($data)){?>

 <script type="text/javascript">

    $( document ).ready(function() {

      $.ajax({
       type: "POST",
       url: "insert.php",
       dataType: "json",
       data: {
        first_name    : FirstName,
        last_name     : LastName,
        email         : Email,
        password      : Password,
       },
       success: function(res) {
          console.log("success");                      
        },
       error: function(res){
            console.log("error"); 
       }
     });// end of ajax

    });// end of ready
 </script>


 <?php
 }// end of if
 ?>

Вам следует изменить dataType, указанный в параметре функции ajax. Если ваш ответ в файле сервера JSON, тогда используйте dataType: "json" Но если вы возвращаете HTML из файл сервера, затем используйте dataType: "html". Обязательно проверьте путь к файлу ajax, укажите полный доступный путь к файлу в параметре url.

...