Запросите таблицу Mysql, используя Php и отправьте результат на javascript для обработки - PullRequest
1 голос
/ 28 января 2020

Я новичок в php / javascript, и я пытаюсь получить доступ к базе данных Mysql, используя подготовленную оценку в php. Получив нужную строку, я хочу отправить ее на Javascript для обработки (сравнение, приращение ...). Я проверил похожие вопросы на свой, но большинство из них предлагает решения, аналогичные этому:

echo 'var result= ' . json_encode($exampleArray) . ';';

Я не хочу печатать данные, а отправлять их на javascript? Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 28 января 2020

Вам следует подумать об этом, используя Ajax. Вы получаете сторону Javascript для отправки запроса сценарию php, который вычислит все и вернет желаемые данные в виде строки. Затем вы можете использовать эту строку в Javascript без необходимости печатать значение в своем интерфейсе.

Сначала отправьте запрос Ajax непосредственно перед использованием строки.

Убедитесь, что вы иметь плагин jQuery и этот код находится внутри готового документа jQuery.

Вы можете встроить CDN jQuery здесь https://code.jquery.com/

$( document ).ready(function() {
$.Ajax('/ajax.php', 
{
    dataType: 'json', // type of response data
    timeout: 500,     // timeout milliseconds
    success: function (data,status,xhr) {   // success callback function
        //Your string is inside data.responss
        alert(data.responss+" is your value");
    },
    error: function (jqXhr, textStatus, errorMessage) { // error callback 
        $('p').append('Error: ' + errorMessage);
    }
});
});

Затем в вашем файле ajax. php вы получите переменную в формате json

<?php
// [...]
$data["responss"] = 2000;
echo json_encode($data);
?>

Ваш результат будет внутри data.responss и будет доступен внутри успеха {} Вы можете создать событие сбоя, если что-то идет не так, используя часть ошибки или проверяя, является ли ожидаемый data.responss

Помните, что PHP на стороне сервера, а Javascript на стороне клиента. PHP всегда будет выполняться первым. Таким образом, используя Ajax, вы можете вызвать результат PHP в нужное время в вашей загрузке. Таким образом, отправка чего-либо на Javascript (на стороне клиента) не может быть выполнена на стороне сервера, потому что это уже выполнено. Вы можете напечатать свой Javascript из PHP, но тогда у вас будет значение в текстовом виде внутри тела вашего HTML.

В любом случае, надеюсь, что это имеет смысл для вас. Дайте мне знать, если у вас есть проблемы с реализацией этого.

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

Обратите внимание, что

echo 'var result= ' . json_encode($exampleArray) . ';';

не относится к печати. На стороне сервера это создает содержимое страницы, отправляемой клиенту. Страница клиента содержит переменную javascript, доступную для обработки (сравнение, приращение ...). Вы должны использовать

JSON.parse()

, может использоваться для извлечения подмножества значений и продолжения процесса.

...