Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [AJax]XMLHttpRequest проблема с получением ответа 
:(
    Опции темы
Geniy00
Дата 26.5.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Добрый день.
У меня проблема, помогите разобраться
Цель: Получение результата запроса к серверу
Нужно c google.com/dictionary перевести слово с англ. на русский
Скрипт должен работать с Chrome

Перехватывал запросы через fiddler
Запрос get к адресу http://suggestqueries.google.com/com...r&a...=world&cp=5 
для нового запроса нужно изменить q=world&cp=5 
, где world - слово для перевода
5 - количество букв

результат в TextView:

Код

window.google.ac.hr(["world",[["world","всемирный, мировой, мир, свет, общество, вселенная,  ... и т.д.


Пробовал делать в Firefox через Firebug: ответ вообще не получается. Возможно из за особенностей FireFox к XMLHttpRequest

мой сайт лежит на локальном денвере localhost/site

Вопросы:
1) Почему xmlHttp.status равен 0 а не 200? (я ведь обращаюсь к сайту в инете, а не к локальному)?
2)Почему в <div id="res"></div> не записывается ответ запроса?
3)Могут ли возникнуть проблемы с тем что мой запрос идет к другому домену а не localhost?

Код

<html>
<head>

<title>Test</title>
</head>
<script type="text/javascript" language="javascript">
    
    
    function Click()
    {
        var xmlHttp = new XMLHttpRequest();        
        var url = "http://suggestqueries.google.com/complete/search?client=dict&hjson=t&ds=d&hl=ru&jsonp=window.google.ac.hr&q=world&cp=5";        
        xmlHttp.open("GET", url, true);        
        xmlHttp.onreadystatechange = function() {updatePage(xmlHttp);};        
        xmlHttp.send(null);
    }
    
    function updatePage(xmlHttp)
    {
        if (xmlHttp.readyState == 4)
        {
            res2.innerHTML = "status=" +xmlHttp.status + "|statusText=" + xmlHttp.statusText + "|readyState=" +xmlHttp.readyState ;
            if(xmlHttp.status == 200 || xmlHttp.status == 0)
            {
                
                res.innerHTML = xmlHttp.responseText;
                
            }
            else alert('xmlHttp.status != 200 and != 0');
        }                
    }
    
</script>
  
  
  
<body>
    <div>Result: </div>
    <div id="res2"></div>
    <div id="res"></div>
    
    
    <br /><br />
    <form>
     
        <input type="button" value="Click" onClick="Click()" />
    </form>
  
</body>
</html>

PM MAIL   Вверх
нуп
Дата 26.5.2011, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Нельзя же посылать запросы на другие сайты. Вроде только jsonp может такое делать  smile 
PM MAIL   Вверх
Geniy00
Дата 26.5.2011, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



нуп, 
Получается сделать расширение для Chrome типа этого http://goo.gl/fdGBU не возможно?


Как тогда можно объяснить что fiddler перехватывал ответ сервера, перевод слова?
PM MAIL   Вверх
нуп
Дата 26.5.2011, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



На счет приложений не знаю, я вам говорю про пример, который вы привели 
PM MAIL   Вверх
Котокобра
Дата 27.5.2011, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: 0
Всего: 4



потестил сейчас, действительно хром не дает обращаться к другим доменам. первый раз с таким столкнулся!
придется использовать аякс на фреймах или объектах (тег <object>).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.