- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день. Не могу понять что делаю не так.
Ситуация такая: есть скрипт который посылает ajax запрос в Google maps api, посылка данных происходит, ответ получаю. Дальше мне нужно обработать ответ, что собственно я и делаю. Далее нужно занести результат в блок и вот тут начинается интересное.
Лиса обрабатывает и помещает результат в нужный блок, Chrome же когда как, раз правильно и раз не правильно т.е меняются местами результаты.
Уже все проверил, через алерт выводит все правильно. Заметил что если алерт окошко закрывать быстро, то происходит разброс, если же медленно, то все окей. Задержку может где нужно поставить подскажите, вот сам код:
$(document).ready(function() {
ww=0;
$.ajax({
url: 'http://maps.googleapis.com/maps/api/distancematrix/json',
dataType: 'json',
data: "origins=<?php echo $_COOKIE['gorod']; ?>&destinations=<?php echo $math->city ?>&mode=driving&language=ru-RU&sensor=false",
success: function(data){ console.log(data); var math = new Array();
for (i = 0; i < data.rows.length; i++) {
ww=ww+1;
math = (data.rows.elements.distance.value);
km = Math.round(math/1000);
var kil = km + 150;
var stoim = (kil * 2 * 12)/49 + 50;
var stoimlch = (kil * 2 * 15)/48 + 200;
var stoimle = (kil * 2 * 15)/48 + 100;
stoim = Math.round(stoim);
stoimlch = Math.round(stoimlch);
stoimle = Math.round(stoimle);
alert("#t"+ww);
alert(stoimlch);
alert(stoimle);
if ('<?php echo $attr[math] ?>'==='le') { $("#t"+ww).html(stoimle);}
if ('<?php echo $attr[math] ?>'==='lch') { $("#t"+ww).html(stoimlch)};
if ('<?php echo $attr[math] ?>'==='ukr') { $("#t"+ww).html(stoim)};
if ('<?php echo $attr[math] ?>'==='all') { $("#t"+ww).html(stoim)};
}
}
});
});
</script>
Спасибо!
vlad00777, выносите вставку данных в отдельную функцию, в которую будите передавать из цикла что вставить и куда именно :)
либо используйте each для обработки массива
burunduk, Спасибо.
Но все равно в функцию передается в разброс vstavka("<?php echo $attr[math] ?>"); в функции делаю function vstavka(chemp) { alert (chemp);} Один появляется одно, обновляю - другое, потом опять меняются местами.
Значит ли это что проблема именно в php?
вообще замените это извращение на чтото проще
if ('<?php echo $attr[math] ?>'==='le') { $("#t"+ww).html(stoimle);}
if ('<?php echo $attr[math] ?>'==='lch') { $("#t"+ww).html(stoimlch)};
if ('<?php echo $attr[math] ?>'==='ukr') { $("#t"+ww).html(stoim)};
if ('<?php echo $attr[math] ?>'==='all') { $("#t"+ww).html(stoim)};
var some = '<?php echo $attr[math] ?>';
if (some==='le') { $("#t"+ww).html(stoimle);}
else if (some==='lch') { $("#t"+ww).html(stoimlch)};
else if (some==='ukr') { $("#t"+ww).html(stoim)};
else if (some==='all') { $("#t"+ww).html(stoim)};
вообще не видя html кодав странички тоже сложно понять до конца как и почему оно тупит. но скорее всего хром как-то кидает всё в несколько потоков и путает всё
vlad00777, скорей всего там проблема с видимостью переменных
смотрите здесь всё работает правильно http://www.unmedia.ru/novosti.html
здесь результаты на странице меняются местами http://www.unmedia.ru/portfolio-site.html
что бы проще разобраться используйте вариант с шаблона страница produkt.html ("товары")
Silent_Kill, это часть функционала моего плагина для вордпресса.
<script>
ww=0;
$.ajax({
url: 'http://maps.googleapis.com/maps/api/distancematrix/json',
dataType: 'json',
data: "origins=<?php echo $_COOKIE['gorod']; ?>&destinations=<?php echo $math->city ?>&mode=driving&language=ru-RU&sensor=false",
success: function(data){ console.log(data); var math = new Array();
vstavka("<?php echo $math->chemp ?>");
}
});
function vstavka(chemp) {
alert (chemp);
}
</script>
Странная штука, $math->chemp - нужное значение.
Вверху, где эхо - оно правильное, а в функции уже не верное, опять же иногда, а иногда правильное.
А если первой строкой так,
echo "<td>".$math->chemp."</td>";
изменится результат?
дани мапов, всеравно правильно показывает всегда.
Странная штука, $math->chemp - нужное значение.
Вверху, где эхо - оно правильное, а в функции уже не верное, опять же иногда, а иногда правильное.
это проблемы с видимостью переменных, в php я лох полный, а вот в js что бы обойти эти проблемы надо использовать "замыкания"
Если я правильно понял, тогда так
несколько раз прочитал, а что неправильного?
Пример не кода, а пример ответа от сервера.