Я рекомендую использовать fetch () или JQuery's $. Ajax ().
fetch(`http://${SERVER_IP}:${SERVER_PORT}/${filename}`, {
method: "GET",
}).then(resp => response.json())
.then(respBody => picker.setDisableDates(respBody))
Позвольте мне объяснить:
Первый параметр функции fetch - это url вашего php-скрипта.Предполагая, что ваш сервер работает на том же компьютере, что и ваш клиент (браузер), тогда SERVER_IP = 'localhost'.Если предположить, что вы используете сервер Apache, то, скорее всего, SERVER_PORT = 8080. filename = yourphpscriptname.php
.
Второй параметр - это параметр options .Вы должны предоставить метод, используемый в вашем вызове AJAX («GET» | «POST» | «PUT» | «DELETE» | ...).Если ничего не указано, то, я думаю, «GET» будет приниматься по умолчанию.
AJAX-вызовы асинхронны , что означает, что если у вас есть
var a = 10;
fetch(`http://${SERVER_IP}:${SERVER_PORT}/${filename}`, {
method: "GET",
}).then(respBody => a++)
//will print '10'
console.log(a);
, вывод будетскорее всего, 10, потому что первая строка кода после вашего fetch () будет выполнена до того, как ответ придет с сервера.Код, который вы хотите выполнить при получении ответа, необходимо поместить в then () .
response.json () извлекает тело ответа иззапрос http и преобразует его из json в объект JavaScript.
Кроме того, проверьте совместимость браузера для fetch () function here .
But they explain poorly on how it works they only give codes though the codes they give doesn't solve my problem.
Если мой ответ вам не поможет, вам нужно более четко объяснить, с какой проблемой вы сталкиваетесь.