[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос через скрипт и включение функции
zawm
Подскажите, пожалуйста, код как на java написать:

Обращаемся к http://www.domen.ru/test.php?login=Vasya
если "+" то {alert('Все верно');}
else{alert('Неправильно!');}

Cкрипт test.php соответственно отвечает либо "+" либо пусто.

Заранее спасибо.



Спустя 4 часа, 17 минут, 11 секунд (10.02.2010 - 23:47) vagrand написал(а):
Значит берешь JS либу prototype, подключаешь и пишешь:


new Ajax.Request(
'http://www.domen.ru/test.php?login=Vasya',
{
method:'get',
onSuccess: function(response) {
if (response.responseText == '+') {
alert('Все верно');
} else { alert('Неправильно!'); }
}
}

);

Спустя 4 часа, 13 минут, 7 секунд (11.02.2010 - 04:00) zawm написал(а):
Попробовал. Спасибо все работает. Но возникло 2 вопроса:

1. Можно ли упростить скрипт чтоб не загружать полностью prototype.js? Все таки ~130К многовато. Т.е. оставить чисто то что только нужно для данной функции.
2. При обращении к http://www.domen.ru/test.php?login=Vasya я так понимаю кешируются данные, так как при разных ответах скрипт выдает первый загрузившийся. Проблема решается если добавить в конце скрипта рандомное число. Как с помощью ява добавить в конец строки рамдомное число чтоб исключить кеширование?

Спустя 5 часов, 2 минуты, 36 секунд (11.02.2010 - 09:03) zawm написал(а):
Вот нашел интересное решение вывода контента без обновления страницы:

<script>
function showContent(link) {
var cont = document.getElementById('contentBody');
var http = createRequestObject();
if( http ) {
http.open('get', link);
http.onreadystatechange = function () {
if(http.readyState == 4) {
cont.innerHTML = http.responseText;
}
}

http.send(null);
} else {
document.location = link;
}
start();
}
function createRequestObject() {
try { return new XMLHttpRequest() }
catch(e) {
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e) {
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}

</script>
</
head>

<
body>
<
div id="contentBody"></div>

В данном случае без каких либо модулей все работает. Т.е. выполняется запрос и выводится в слой ДИВ контент. Как можно передалать (дайте код пожалуста готовый) этот скрипт чтоб при обращении к showContent(link) не контент выводило, а если "+" то {alert('Все верно');}else{alert('Неправильно!');}

Спустя 4 минуты, 41 секунда (11.02.2010 - 09:07) qpayct написал(а):
Цитата (zawm @ 11.02.2010 - 08:03)
Вот нашел интересное решение вывода контента без обновления страницы:
<script>
function
showContent(link) {
var cont = document.getElementById('contentBody');
var http = createRequestObject();
if( http ) {
http.open('get', link);
http.onreadystatechange = function () {
if(http.readyState == 4) {
cont.innerHTML = http.responseText;
}
}

http.send(null);
} else {
document.location = link;
}
start();
}
function createRequestObject() {
try { return new XMLHttpRequest() }
catch(e) {
try { return new ActiveXObject('Msxml2.XMLHTTP') }
catch(e) {
try { return new ActiveXObject('Microsoft.XMLHTTP') }
catch(e) { return null; }
}
}
}

</script>
</head>

<body>
<div
id="contentBody"></div>

В данном случае без каких либо модулей все работает. Т.е. выполняется запрос и выводится в слой ДИВ контент. Как можно передалать (дайте код пожалуста готовый) этот скрипт чтоб при обращении к showContent(link) не контент выводило, а если "+" то {alert('Все верно');}else{alert('Неправильно!');}

знакомся, это Ajax smile.gif

Спустя 4 часа, 11 минут, 24 секунды (11.02.2010 - 13:19) zawm написал(а):
Ну здесь же не надо никаких библиотек подгружать))) Так как сделать то?

Спустя 8 часов, 28 минут, 37 секунд (11.02.2010 - 21:47) zawm написал(а):
Всем спасибо. Решение нашел. Может кому пригодится. Сделал так:

<script language="JavaScript" type="text/javascript">
setTimeout ("showContent('http://www.domen.ru/test.php?login=Vasya')", 1000);
function showContent(link){
var http = createRequestObject();
if(http){
http.open('get', link);
http.onreadystatechange=function(){
if(http.readyState==4){
if (http.responseText=='+'){alert('Все верно');}else{alert('Неправильно!'); }
}
}
}

http.send(null);
}else {document.location = link;}
}

function createRequestObject(){
try{return new XMLHttpRequest()}
catch(e){
try{return new ActiveXObject('Msxml2.XMLHTTP')}
catch(e){
try{return new ActiveXObject('Microsoft.XMLHTTP')}
catch(e){return null;}
}
}
}

function show(AlertChat){
if(document.getElementById(AlertChat).style.display=="none"){
document.getElementById(AlertChat).style.display="inline";
}
}

</script>


Кстати, профессионалы посмотрите может что еще подскажете что здесь не так. Хотя все работает на Chorome b IE8. На других браузерах не проверял.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.