Просмотр полной версии : Разрешение переменной
Друзья, реально запутался с данной задачей. Как правильно определить ширину монитора и передать её в php через аякс? Благодарю
В чём именно запутался? Покажи код.
Друзья, реально запутался с данной задачей. Как правильно определить ширину монитора и передать её в php через аякс?
https://developer.mozilla.org/en-US/docs/Web/API/Screen.width
остальное - от ленивого
index.php
$(document).ready(function(){
ScreenWidth = screen.width;
$("#test").click(function(event){
$.ajax({
url: 'script.php',
data : 'postVar="ScreenWidth"',
type : "POST",
success: function (data) {
alert (data);
},
error: function(){
alert ("No PHP script: ");
}
});
return false;
});
});
script.php
<?php
echo $_POST['postVar'];
все равно в script.php ничего не передает
gogogo,
а так?
//замени 6 строку на эту
data : { postVar: ScreenWidth },
можно и так
data : "postVar=" + ScreenWidth,
kostyanet
07.12.2014, 01:46
Начав с размеров захочется большего. Передавайте сразу в json, а в php принимайте json_decode() и двери в большее будут открыты.
data : "postVar=" + ScreenWidth,
во, теперь alert(data) выводит ширину монитора, но script.php все равно не выводит значение
data : "postVar=" + ScreenWidth,
во, теперь alert(data) выводит ширину монитора, но script.php все равно не выводит значение
а что по-твоему приходит в alert, как раз то, что выводит script.php
bes,
а почему при открытии script.php не выводится на экран?
Объясню немного подробнее свою задачу.
Использую modx revo. При заходе на сайт определяется ширина монитора и если меньше 400, то подставляю шаблон для мобильных. Как планирую реализовать:
Посетитель заходит на страницу, определяется ширина и отсылается аяксом в сниппет (script.php). И уже исходя из значения сниппета вывожу фильтром необходимый кусок кода
<!DOCTYPE html>
<html>
<head>
<script src="assets/js/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
ScreenWidth = screen.width;
$(document).ready(function(){
$("#test").click(function(event){
$.ajax({
url: 'script.php',
data : "postVar=" + ScreenWidth,
type : "POST",
success: function (data) {
alert (data);
},
error: function(){
alert ("No PHP script: ");
}
});
return false;
});
});
</script>
</head>
<body>
<a id="test" href="#">test link</a>
<!--Ниже сниппет, который по плану должен вывести значение-->
[[!udalscript?]]
</body>
</html>
bes,
а почему при открытии script.php не выводится на экран?
почитай как работает ajax, осознай слово "асинхронность", после этого всю полезную работу делай в success при приходе ответа
подобные вопросы уже несколько лет в top faq ;)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot