Я довольно новичок в php, так что эта функциональность ставит меня в тупик, я дам вам картину для контекста. Схема применения для опорного изображения
Таким образом, я могу запросить свою базу данных и установить каждый бит данных для отдельной переменной (может быть, не лучший способ для этой ситуации?)
Но я не знаю, как $ _post эти данные (в форме переменных … :), вероятно, плохая идея, и мне придется устанавливать данные как переменные, где бы я ни работал с формулами, и отправлять информацию только через ajax) вернуться к отображаемой странице (примечание: я не хочу, чтобы моя страница когда-либо обновлялась)
И я предвижу еще одну проблему, и из-за нехватки знаний и неспособности Google ответить на мои вопросы, как я могу установить php Запустить мои алгоритмы и сохранять исходные данные на странице каждый раз, когда мои пользователи меняют одно поле на странице, я хочу все они запускаются на сервере, а не в браузере, поэтому я планирую, чтобы ajax отправлял все данные, включая измененные данные, в php-файл каждый раз, когда они что-то меняли, и сбрасывал информацию на странице после запуска своих формул , Я изучал $ _post и получить и запрос ЭСТ. и не смог мысленно определить, каким образом передача данных будет наиболее эффективной и простой в работе.
Извините за случай, я надеюсь на некоторую конструктивную критику, решения и объяснения для новичка в php, и спасибо за любую помощь.
Привет, это работает так в jQuery
$.post('url', {input}, function(data){
});
Javascript сделает веб-запрос так же, как если бы вы указали URL в браузере, верно (если это $ .get, то есть, очевидно, мы не можем отправлять данные постов с помощью панели URL браузера, однако вы можете перейти на страницу только без опубликовать данные). Теперь, потому что это AJAX, все возвращаемое входит в данные. Это асинхронный, что означает, что ваш JS не будет ждать запроса, например, если вы поставите
$.post('url', {input}, function(data){
});
alert(data.result);
Он не будет работать по двум причинам, одна из них — область действия (данные — это входной параметр функции, недоступный за пределами функции). Другая причина в том, что оповещение сработает до завершения публикации, даже если оно написано после запроса $ .post. Из-за этого вы должны использовать данные в функции обратного вызова.
Теперь на стороне PHP, где когда-либо этот URL-адрес запускается так же, как вы пошли туда в обычном режиме. По сути, нет никакой разницы для сервера, его AJAX или запрос браузера. Это как отправка формы. Интересное, что вы можете сделать, это вернуть ваши данные в формате JSON. с помощью заголовка JSON приложения и с помощью json_encode()
в PHP. Это по сути нотация JavaScript String Object. (не уверен, правильно ли я это помню) но это то, что есть.
В запросе нет магии. Большинство людей на самом деле не понимают, что все, что возвращает сервер — это только текст. Будь то файл PDF, JPG, веб-страница, что угодно, только его текст. JSON позволяет вам сохранить структуру ваших данных, таких как массив. Это специальный формат текста, который JavaScript понимает как объект и массивы.
Я объяснил это одному из моих младших разработчиков на днях. Если вы установите правильные заголовки, вы можете генерировать CSS-файлы с помощью PHP, изображений и т. Д. Потому что это всего лишь текст. Сеть очень проста. У вас есть только получать и отправлять запросы и текст в качестве ответа. Вот и все по большей части.
Тем не мение,
Хорошо, теперь в PHP (для быстрого примера)
header('Content-Type: application/json');
$a = array('one'=>1);
echo json_encode( $a );
С json_encode()
это становится (это ответ, отправленный обратно с сервера)
'{one:1}'
А в JS на стороне клиента (внутри обратного вызова $ .post) его
data.one;
Мы можем взять это data
в обратном вызове вы можете просто использовать базовый jQuery для замены значений ввода или содержимого тегов HTML возвращенными данными.
$('#input').val(data);
$('#htmlElement').text(data); // or data.one - whatever you had in php array keys.
Есть смысл? Выше мы берем использование массива PHP json_encode()
, чтобы сделать его строкой JSON, а затем (с правильным заголовком) мы можем получить к ней доступ в JS, используя ее точечный синтаксис. Помните, что я сказал выше только о возврате текста с сервера, поэтому мы должны преобразовать его в строку JSON. Точка в JS похожа на ->
в PHP. Вы также можете использовать data['one']
который даже больше похож на PHP, но технически это не правильный путь, если вы знаете, что one
является.
Процесс также прост, как у нас есть только post get и текст. Мы можем только делать запросы от клиента и ответы от сервера. Так всегда
Client Request -> Sever Response -> Client receives response.
Мы не можем, например, позвонить клиенту с сервера.
Sever Call-> Client receives
Это не работает без таких вещей, как NODE.js или сервер сокетов.
Для справки (об ответах JSON)
Других решений пока нет …