Как лучше всего передавать значение переменной в javascript с сервера? - PullRequest
3 голосов
/ 06 октября 2009

Я занимаюсь разработкой любимого проекта с помощью jQuery. Теперь приложение требует, чтобы значение переменной передавалось клиентскому JavaScript при загрузке страницы. Мне интересно, как лучше это делать.

Я могу сделать это двумя способами. Сначала сделайте так, чтобы она была переменной javascript на странице.

<script> <?php echo "var maxid = $maxid;"?> </script>

Что означает, что клиент увидит

<script> var maxid = <somevar>; </script>

Во-вторых, присвойте ему атрибут одного элемента.

<div maxid="<php echo $maxid >" />

Какой подход лучше? Есть ли другой способ сделать это?

Ответы [ 6 ]

7 голосов
/ 06 октября 2009

Ради действительного html я бы выбрал первый метод, хотя он действительно не имеет значения, пока он выполняет свою работу.

<script>
$(function() {
    var max_id = <?php echo $max_id;?>;
});
</script>
3 голосов
/ 06 октября 2009

Я использую строку JSON для передачи значений клиенту Взгляните на этот пример http://blog.reindel.com/2007/10/02/parse-json-with-jquery-and-javascript/

1 голос
/ 06 октября 2009

Мне редко приходится передавать только одну переменную ... У меня обычно есть целый набор информации, и в этом случае я использую:

var myAwesomeStuff = <?php echo json_encode($myArrayOfAwesomeInformation); ?>

Нет возврата к серверу, как упоминалось ранее для JSON.

0 голосов
/ 06 октября 2009

Первый метод лучше, потому что вы будете использовать меньше памяти и процессора с простой переменной. При использовании DIV вы будете использовать элемент DOM и поиск узла DOM, чтобы прочитать значение.

0 голосов
/ 06 октября 2009

Я бы сделал ее переменной javascript (ваша первая альтернатива). Это похоже на общий подход.

0 голосов
/ 06 октября 2009

- Изменить:

Просто, чтобы было ясно, ваш «вопрос» задает нечто совершенно иное, чем ваш «код». Вы должны уточнить, мой пост ниже говорит о "вопрос".

- Старый:

Обычно я возвращаю полный HTML-код для отображения на страницах, к которым обращается ajax.

Причина этого в том, что мне не нужно дублировать логику компоновки в JavaScript, и в итоге она оказывается полезной только для поддержания тривиального JavaScript-кода и в форме настройки HTML / текстового содержимого соответствующих заполнителей.

Это происходит за счет передачи большего количества данных, но для меня, я рад сделать этот компромисс.

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