Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2014, 14:20
Аватар для Kuiper
Новичок на форуме
Отправить личное сообщение для Kuiper Посмотреть профиль Найти все сообщения от Kuiper
 
Регистрация: 11.01.2014
Сообщений: 2

AJAX, как выполнить php-скрипт при клике?
Привет всем!

UPDATE:
Запуск php-скрипта без перезагрузки страницы сделал, таким образом:
Код:
<script type="text/javascript" language="javascript">
function makeRequest(url) {
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// Читайте ниже об этой строке
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open('GET', url, true);
http_request.send(null);
}

</script>

<div style="width:250px;" align="center">
<img src="img/forward.png" title="Вперед" value="VPERED" onclick="makeRequest('send.php?symbol=VPERED')">
</div>

</body>
<html>
Но есть проблема - кликаю на кнопку, php-скрипт запускается, светодиод на роботе светится 1 секунду, как и задано.
Однако, если продолжать удерживать кнопку (картинку) - событие-то onclick, поэтому выполняется всего один раз.
Аналогично и onMouseDown - выполняется один раз, затем нужно жать кнопку вновь.

Подскажите, реально ли вообще сделать через HTML\JS\AJAX\сам TCP непрерывную отправку данных?
То есть, для непрерывного движения или мигания робота нужно отправлять в последовательный порт символ, который Ардуино обработает и выполнит действие, поэтому, при нажатой кнопке нужно непрерывно запускать php-скрипт send.php?symbol=VPERED, чтобы робот двигался вперед (или светил светодиод).

Или через веб никак не сделать такое?

Большое спасибо!

Последний раз редактировалось Kuiper, 11.01.2014 в 15:40.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2014, 17:05
Аспирант
Отправить личное сообщение для Sherminator Посмотреть профиль Найти все сообщения от Sherminator
 
Регистрация: 01.08.2012
Сообщений: 50

Я думаю тебе нужно посмотреть в сторону mousedown + setInterval / setTimeout.
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2014, 05:21
Аватар для Kuiper
Новичок на форуме
Отправить личное сообщение для Kuiper Посмотреть профиль Найти все сообщения от Kuiper
 
Регистрация: 11.01.2014
Сообщений: 2

Sherminator, большое спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2014, 09:31
Интересующийся
Отправить личное сообщение для maxSLON Посмотреть профиль Найти все сообщения от maxSLON
 
Регистрация: 17.01.2014
Сообщений: 14

Можно конечно так, но я бы не стал
Чистая реализация ajax технологии красиво.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Вопрос по jquery. Как запретить один из скриптов при клике vuler Общие вопросы Javascript 1 07.03.2012 22:35
Полноценная история при Ajax. Krylovech AJAX и COMET 1 03.03.2012 03:11
30(1|2) редирект от сервера. Или как лучше сделать редирект при верной отсылке форма. pizzZ AJAX и COMET 2 18.02.2010 09:06