Присвойте переменную Javascript PHP с помощью AJAX - PullRequest
1 голос
/ 05 июля 2011

Я понимаю ...

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

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

Любая помощь будет принята с благодарностью!

РЕДАКТИРОВАТЬ: Спасибо за ваши ответы, я должен уточнить, что я хотел бы сделать это без загрузки новой страницы.

Ответы [ 4 ]

1 голос
/ 05 июля 2011

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

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

0 голосов
/ 05 июля 2011

Если вы еще не рассматривали инфраструктуру 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
0 голосов
/ 05 июля 2011

ОБНОВЛЕНИЕ : Учебное пособие найдено на ссылка

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

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

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

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

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

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

0 голосов
/ 05 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...