вывести переменные из базы через ajax

290
05 сентября 2017, 11:29
$.ajax({
            url: 'add_payment.php',
            dataType: 'text',
            cache: false,
            contentType: false,
            processData: false,
            data: form_data,
            type: 'post',
            success: function(php_script_response){
            if(php_script_response=='no') 
                {
                alert('Такой чек уже зарегистрирован');
                }
            else
                { 
                alert(php_script_response);
                }
            }
});

Есть примерно такой код. В php-обработчике идет запрос в БД: если такая запись уже есть, то echo 'no' и alert, что такой чек уже зарегистрирован. Если такой записи нет, то она заносится в БД. А во фронтенде я хочу получить информацию о этой зарегенной записи: ее порядковый номер, дату регистрации и вывести это на экран, т.е. несколько переменных вытянутых из базы. Так вот как передать php обработчиков данные, какая вообще логика? P.s. сорри за нубство, только знакомлюсь с технологией ajax

Answer 1

Первое. сделать datType:json.

Второе. Все данные которые вы получили в бэкенде, тобишь в вашем php обработчике сделать в виде json:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>

На выходе получим {"a":1,"b":2,"c":3,"d":4,"e":5}

В вашем случае все данные помещаете в массив, как видно из примера. и вместо echo no, делаете echo json_encode($data);.

А после того как пришел ответ достаёте нужные данные. jQ сам распарсит и преобразует в json. Вам нужно будет только достать.

Больше инфо.

Answer 2

На фронте можно сделать такой код :

$.ajax({
                url: 'add_payment.php',
                dataType: 'text',
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,
                type: 'post',
                success: function(json){
                if(json['add_post']) 
                    {
                    console.log(json.product.id + ':' + json.product.name);
                    }
                else
                    { 
                    console.log(json['error']);
                    }
                }
    });

А в add_payment.php после всех проверок и добавлений в БД , выбирать данный пост и с помощью json_encode($response), отдавать данные , которые вы хотите вывести на фронте придерживаясь такой структуры в данном случае :

{add_post:true,product:{id:1,name:name}}

READ ALSO
Изменение ссылки

Изменение ссылки

Здравствуйте! Есть ссылка, где адрес получаем из бд:

185
Как реализовывается вид товара?

Как реализовывается вид товара?

Привет ребята как в yii2 реализовывается вид товара плитка, таблица и список, как правильно сформировать ссылку

201
PayPal Sandbox проблема при оплате с аккаунта buyer

PayPal Sandbox проблема при оплате с аккаунта buyer

Пытаюсь интегрировать PayPal с сайтом на Yii2Использую Sandbox для тестирования

170
Указать путь к файлу

Указать путь к файлу

Итак, есть json файл, в котором хранятся какие-то данныеФайл php берет данные из файла json, и файл js делает тоже самое

220