Передача переменной jQuery в PHP на той же странице?

#javascript #php #jquery #variables

#javascript #php #jquery #переменные

Вопрос:

Я знаю, что это частый вопрос о переполнении стека, но я не смог найти сценарий, в котором PHP-код находится чуть выше JS-скрипта в том же файле. Я предполагаю, что ajax POST / GET не выполнит эту работу в этом случае?

 (...)
var ww = $(window).width();
   </script>

<?php $ww = [data here] ?>
  

Комментарии:

1. Какова цель вашего кода?

2. Я обвиняю Frontpage. Не каждый может создать веб-сайт, и не каждый должен.

3. @Rob W Мне нужно отобразить изображение шириной 100%, используя Timthumb, width: 100% не будет выполнять эту работу, потому что изображение должно быть обрезано.

4.Вы противоречите себе. Вам нужна ширина 100% , а также «Обрезанное изображение»? Обрезать изображение можно только с помощью HTML / CSS: 1) <img src=".." width=100 height-100> 2) <span style="width:150px;height:150px"><img src=".." style="width:100%;height:100%" /></span> .

Ответ №1:

Вам придется использовать POST / GET для отправки переменной JS в PHP, потому что PHP обрабатывается сервером, а JS обрабатывается клиентом.

Я знаю, это не то, что вы хотите услышать.

Ответ №2:

Это неправильный подход. Весь PHP анализируется / оценивается на стороне сервера. Позже браузер пользователя получает возможность анализировать / оценивать javascript. Даже если JS появляется перед PHP в вашем файле, PHP все равно оценивается на стороне сервера, прежде чем что-либо передается в браузер. Если вам нужно, чтобы значения на стороне клиента передавались обратно на сервер, вы используете AJAX для этого. Вы можете снова принимать решения на стороне сервера и в ответе запускать JavaScript для выполнения некоторых действий на основе принятого PHP решения, но вы не можете смешивать / сопоставлять действия клиента / сервера в одном файле, подобном этому.

Ответ №3:

Я не думаю, что есть какой-либо способ, потому что javascript запускается на вашем локальном компьютере ПОСЛЕ выполнения PHP и возвращает HTML / CSS / JS в ваш браузер.

Ответ №4:

Я бы использовал AJAX для передачи того, что мне нужно, на сервер для обработки, а затем на основе ответа, используя Javascript, внесите любые необходимые корректировки. Например:

 ***PHP File***
<?php
$ww = $_POST['data'];
$result = doSomethingWithVariable($ww);
echo $result;
  

 ***HTML File***
<script>
...
var ww = $(window).width();
$.ajax({
    url: 'phpfile.php',
    type: 'POST',
    data: { data : ww },
    success: function (result) {
        doSomethingWithResult(result);
    }
});
</script> 
  

Ответ №5:

Недавно я передал значение переменной атрибуту элемента, который был динамически сгенерирован php. Затем используйте функцию get attr() jquery для получения значения. Сработало отлично!

Часть PHP:

 foreach ((array)$photos['photos']['photo'] as $photo) {
$Maxcount  ;
}

foreach ((array)$photos['photos']['photo'] as $photo) { 
echo "<img imgID='$IDcount' Maxcount='$Maxcount'
  

jQuery:

  var maxCount= $(".imageView").attr("maxCount");