отправка формы без перегрузки
Доброго времени суток всем, кто читает эту тему. Делаю расширение для хрома, которое считает время, проведенное на определенном сайте, например javascript.ru и отправляет данные на мой сайт, пусть moisait.ru .
Вопрос в том, чтобы отправить данные без перегрузки страницы и загрузки страницы на которую отправка. ВОт мой код: document.write('<form id="formstat" name="formstat" method="POST" action="http://mpisait.ru/statistic.php">'+ '<input type="hidden" name="login" value="admin"/>'+ '<input type="hidden" name="time" value="15"/>'+ '</form>'); var form = document.getElementById('formstat'); form.submit(); отправка происходит, но пользователя перенаправляет на страницу http://mpisait.ru/statistic.php |
natureproj, отправляй данные используя ajax...
|
да, вкурсе. Сейчас так плдключил jquery:
document.write('<form id="formstat" name="formstat" method="POST" action="http://moisaitru/statistic.php">'+ '<input type="hidden" name="login" value="admin"/>'+ '<input type="hidden" name="time" value="15"/>'+ '</form>'); document.write('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>'+ ' <script>var form = $(\'#formstat\');'+ 'form.submit();</script>'); Как отправить аяксрм кто подскажет? |
Цитата:
$.get(); $.ajax(); http://jquery-docs.ru/Ajax/jQuery.get/ http://jquery-docs.ru/ajax/jquery-ajax/ |
Написал вот так:
document.write('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>'+ ' <script> $.get("http://moisait.su/statistic.php", { login: "admin", time: "15" } );</script>'); Отправка происходит, но страница в браузере, на которой пользователь не загружается. Просто белая страница. В чем проблема сейчас? |
Цитата:
Откуда там чего появится? |
не понял. У меня расширение для хрома. Польователь и знать ничего не должен когда там что отправляется. Как решить вопрос?
|
Цитата:
|
То есть пользователь зашел на сайт, он загрузился и с интервалом в 10 секунд отправляются в фоновом режиме гет запросы на мой сайт
|
Цитата:
Хотя... в принципе, не так уж и много 6 запросов в минуту. |
var request = new XMLHttpRequest(); request.open('GET', 'http://your-site.ru?login=admin&time=15'); request.send(); Неужели никто не мог подсказать? |
ММ. А нафига чета куда-то слать? Почему бы не собирать статистику в localStorage? И тогда можно обойтись без всяких запросов и таймеров.
|
danik.js, отлично, спасибо! делаю так:
localStorage.setItem('z', '10'); если в этом же скрипте вывести var z = localStorage.getItem('z'); alert(z); то выводит 10, пробую вывести в другом (popup.js) - выводит null |
Цитата:
Где ты так делаешь? В background-скрипте расширения? А в каком контексте исполняется popup.js ? Скорей всего у него нет прямого доступа к localStorage. Пересылай через сообщения. |
да, в бэкграунд скрипте. Запускается он так:
"content_scripts": [ { "matches": [ "*://*/*" ], "js": [ "background.js" ] } Как я понял, то на каждой странице запускается этот скрипт. А как передать данные в popup.html? |
Цитата:
"background": { "scripts": ["background.js"] }, Но я не спец по расширениям так что особо не помогу тут. Читай доки, в них много че написано. Данные передавать можно через систему сообщений onMessage/sendMessage |
Часовой пояс GMT +3, время: 00:20. |