Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Прием данных из запроса


Автор: N0rt0N 28.5.2009, 00:56
Доброго времени суток!
У меня возникла следующая проблема.
1. Необходимо сделать запрос на сервер к некоторому скрипту
2. Получить и отобразить его ответ.
Пробовал сделать так как в этой - http://forum.vingrad.ru/topic-227837.html - теме, но ответа никакого от сервера не выводится :(
Вот, то что пробовал писать:
Код


function ajax_s(x) {
   // var dpar = '<? echo time(); ?>'; // случайный параметр, который меняется при каждой загрузке страницы - для того чтобы сделать ссылки уникальными
    if(window.XMLHttpRequest) {
        try { req = new XMLHttpRequest(); } 
        catch (e){}} 
    else if(window.ActiveXObject) {
        try { req = new ActiveXObject('Msxml2.XMLHTTP'); } 
        catch (e){ req = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req.onreadystatechange = function() { 
        if(req.readyState == 4) ajax_o(req.responseText); }     
    req.open("GET", 'http://vin.su/decoder_partners_vinsu.php?vin=KMHDN46D64U720806', true);
    req.send(''); 
}
function ajax_o(x) {
    var el = document.getElementById('ziel');
    el.innerHTML = decodeURIComponent(x);
}

</script>


<input type="button" onclick="ajax_s('param1');" value="push" />
<div id="ziel"></div>
</body></html>

По нажатию на push ничего не происходит. Адрес поменял на правильный. Помогите разобраться, в чем тут дело? Что не так?

Автор: bars80080 28.5.2009, 01:09
ошибки какие-нибудь пишет?

адрес ведёт на тот же домен, на котором страница с этим скриптом?

ещё вместо el.innerHTML = decodeURIComponent(x); напиши
el.innerHTML = x;
что получится?

Автор: N0rt0N 28.5.2009, 01:59
Нет, ошибок никаких не выводит. Просто никак не реагирует на нажатие.
Пробовал переписать, как написали, результат тот же, то есть ничего.
Нет, адрес ведет на совершенно другой домен, т.е. страница с javaScript'ом должна быть на одном домене, а php-скрипт расположен на другом.

Автор: bars80080 28.5.2009, 09:26
Цитата(N0rt0N @  28.5.2009,  01:59 Найти цитируемый пост)
адрес ведет на совершенно другой домен

ну, значит и всё, никого аякса. единственный момент, могу посоветовать почитать про json, там у них вроде есть методы для междоменового общения

Автор: ksnk 28.5.2009, 09:35
N0rt0N, вариантов решения много, но все они подразумевают "дружественный" сайт на той строне. Дружественность его заключается в том, что он выдает контент не в обычном виде, а в json'е. Пример - гугловые сервисы.

Общаться с такими серверами нужно не xmlHttp реквестами, а динамической вставкой в код тегов <script> с нужным src, или подгрузкой этого добра через скрытый фрейм. Все это достаточно мутно, для реализации с нуля, так что лучше воспользоваться готовыми решениями для любых используемых фреймворков.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)