Назначить переменную Javascript для PHP с помощью AJAX

Я понимаю…

  • несоответствие между PHP-сервером и Javascript на стороне клиента.
  • AJAX может исправить эту проблему.
  • объект XMLHttpRequest значителен.

Тем не менее, я все еще не могу понять, как передать переменную между двумя языками.

Любая помощь будет высоко оценена!

EDIT: Спасибо за ваши ответы, я должен уточнить, что я хотел бы сделать это, не загружая новую страницу.

Вам необходимо отправить запрос AJAX, содержащий значение переменной в строке запроса или тело POST.

Сценарий PHP на другом конце URL-адреса может считывать значение из строки запроса или тела POST.

вы можете использовать JSON с JS и декодировать его с помощью php, но, как указано выше, он включает ajax.

UPDATE : учебное пособие найдено по ссылке

Вы должны дать более подробный пример того, что вы хотите выполнить. Но если я правильно понял, вы хотите использовать значение из вашего кода JavaScript в вашем PHP-коде?

Вы должны попробовать использовать параметры POST или GET для передачи значений в PHP. Чтобы PHP мог что-либо сделать, вам нужно будет загрузить новую страницу.

list.php вас есть list.php обслуживающий список сообщений. Вы хотите «любить» сообщение. Ваш JavaScript находится на этой странице. Когда вы нажимаете «нравится», AJAX POST отправляется на like.php с параметром POST id = 123.

В like.php вы получаете значение из запроса (используя $_POST['id'] или что-то более подходящее), сделайте свою магию (save to db) и выполните эхо-результат, json_encode(array('success' => true)) .

JavaScript-код, который называется like.php может затем использовать его обратный вызов, чтобы проверить, был ли «понравится» успех или нет, и отобразить обратную связь. like.php может быть любой страницей, вы можете использовать list.php если хотите. Я использовал like.php для ясности.

Если это совсем не то, что вы хотели, предоставьте дополнительную информацию.

Если вы не просмотрели фреймворк jQuery для javaScript, сделайте это.

Если у вас есть переменная, называемая city в JS, вы можете передать ее file.php , используя

 var city = "London"; $.get("file.php", {location:city} ); 

Это HTTP-запрос GET.

В PHP (file.php) вы затем захватываете его, используя

 $city = $_GET['location']; echo $city; //London