отправка формы без перегрузки
Доброго времени суток всем, кто читает эту тему. Делаю расширение для хрома, которое считает время, проведенное на определенном сайте, например 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:15. |