Запустите PHP на JQuery Ajax Success

Как установить значение переменной PHP после успешного вызова ajax?

head.php

<script>
    j.ajax({
        method: 'get',
        url: '/php/ajax/auto_select_market.php',
        data: {
            'city': geoip_city(),
            'state': geoip_region()
        }
    });
</script>

auto_select_market.php

include_once '../includes/library.php';
include_once '../includes/config.php';

session_start();

$market = ...

$_SESSION['CURRENT_MARKET'] = $market ? $market : ...

Мне нужно установить эту переменную после успешного вызова ajax.

<?php
    $user['CURRENT_MARKET'] = $_SESSION['CURRENT_MARKET'];
?>

Однако я не могу просто установить переменную в глобальной переменной в auto_select_market.php. С помощью global $user; просто не работает в других файлах.

3 ответа

Я не уверен, что ты хочешь делать. Тем не менее, вот мой выстрел:

Как вы видели, если вы установите $user переменная, значения работают только во время выполнения файла php (т.е. страницы).

Если вы хотите, чтобы значение оставалось на сервере, чтобы его можно было найти между страницами, вы можете использовать $_SESSION, Я не совсем уверен, знаете ли вы, что вы можете вручную устанавливать объекты в качестве значений:

$_SESSION['user'] = $user;

Таким образом, вы можете сохранить свой $user ценность (и, конечно же, ваш $user['CURRENT_MARKET'] значение) между страницами.

После успешного вызова AJAX вам придется отправить еще один запрос на подтверждение, или вы должны верить, что клиент получил все данные правильно, и в случае успеха рассмотрите основной запрос клиента.

Единственный способ передать некоторые данные серверу - это отправить их как запрос или параметр POST/GET (без расширения REST).

Просто используйте другую переменную $_SESSION для хранения данных. Этот сеанс может быть использован для любого php файла проекта.

i.e. $_SESSION['USER'] = $user['CURRENT_MARKET'];

ПРИМЕЧАНИЕ: используйте session_start(); если сессия не начинается

Другой способ: вы можете использовать вышеуказанную строку перед выходом из PHP-скрипта.

Другие вопросы по тегам