Вы можете попробовать использовать список карты, как показано ниже:
List<HashMap<Object,Object>>
Передающие данные из PHP легки, можно генерировать JavaScript с ним. Другой путь немного более тверд - необходимо вызвать Сценарий PHP запросом JavaScript.
Пример (использующий традиционную регистрационную модель события для простоты):
<!-- headers etc. omitted -->
<script>
function callPHP(params) {
var httpc = new XMLHttpRequest(); // simplified for clarity
var url = "get_data.php";
httpc.open("POST", url, true); // sending as POST
httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpc.setRequestHeader("Content-Length", params.length); // POST request MUST have a Content-Length header (as per HTTP/1.1)
httpc.onreadystatechange = function() { //Call a function when the state changes.
if(httpc.readyState == 4 && httpc.status == 200) { // complete and no errors
alert(httpc.responseText); // some processing here, or whatever you want to do with the response
}
};
httpc.send(params);
}
</script>
<a href="#" onclick="callPHP('lorem=ipsum&foo=bar')">call PHP script</a>
<!-- rest of document omitted -->
Без разницы get_data.php
производит, который появится в httpc.responseText. Обработку ошибок, регистрацию события и перекрестный браузер совместимость XMLHttpRequest оставляют как простые упражнения читателю ;)
Я использовал бы JSON в качестве формата и Ajax (действительно XMLHttpRequest) как клиент-> механизм сервера.
Можно передать данные от PHP до JavaScript, но единственный способ получить данные от JavaScript до PHP через Ajax.
Причина этого - Вы, может создать действительный JavaScript через PHP, но получить данные к PHP необходимо будет получить PHP, работающий снова, и так как PHP только работает для обработки вывода, Вам будут нужны перезагрузка страницы или асинхронный запрос.
Существует несколько путей, при этом самыми видными являются добирающиеся данные формы, или получающий строку запроса. Вот один метод с помощью JavaScript. Когда Вы нажмете на ссылку, она назовет _vals ('mytarget', 'theval'), который отправит данные формы. Когда Ваша страница отправляет назад, можно проверить, были ли эти данные формы установлены и затем получают ее от значений формы.
<script language="javascript" type="text/javascript">
function _vals(target, value){
form1.all("target").value=target;
form1.all("value").value=value;
form1.submit();
}
</script>
Кроме того, можно получить его через строку запроса. PHP имеет Ваш _GET и _SET глобальные функции для достижения этого создания его намного легче.
Я уверен, что существует, вероятно, больше методов, которые лучше, но они - только некоторые, которые приходят на ум.
Править: Построение на этом от того, какие другие сказали, что использование вышеупомянутый метод у Вас был бы тег привязки как
<a onclick="_vals('name', 'val')" href="#">My Link</a>
И затем в Вашем PHP можно получить использование данных формы
$val = $_POST['value'];
Таким образом, когда Вы нажимаете на ссылку, которая использует JavaScript, это отправит данные формы и когда страница отправит назад от этого щелчка, можно затем получить его от PHP.
другой способ обмена данные с php на javascript или наоборот - с помощью файлов cookie, вы можете сохранять файлы cookie на php и читать их с помощью javascript, для этого вам не нужно использовать формы или ajax
Использование файлов cookie - простой способ. Вы можете использовать jquery и подключаемый модуль как jquery.cookie или создать свой собственный. Используя Jquery + jquery.cookie, например
<script>
var php_value = '<?php echo $php_variable; ?>';
var infobar_active = $.cookie('php_value');
var infobar_alert = any_process(infobar_active);
//set a cookie to readit via php
$.cookie('infobar_alerta', infobar_alerta );
</script>
<?php
var js_value = code to read a cookie
?>
, я нашел полезные серверные и гибридные фреймворки: http://www.phplivex.com/ http://www.ashleyit.com/rs/
Я давно использую сценарий RSJS Эшли для обновления значений в HTML без каких-либо проблем. время, пока я не встретил JQuery (ajax, load и т. д.)