Http-запрос в sencha touch 2 - PullRequest
       31

Http-запрос в sencha touch 2

1 голос
/ 05 марта 2012

Я новичок в Sencha Touch 2. Я хочу сделать http-запрос.в основном я хочу подключиться к Google (http://www.google.com), а затем проверить HTTP-ответ, если он в порядке или нет.

Я проверил этот код, но я всегда получаю ошибку ...

Ext.Ajax.request({
        url : 'http://www.google.com',
        success : function(response, options) {
            Ext.Msg.alert("Success");
        },
        failure : function(response, options) {
            Ext.Msg.alert("Failure" + response.responseText + " "
                    + options.responseText);
        }
    });

Позже я хочу использовать эту функцию для реализации входа в приложение.

Заранее благодарен за вашу помощь.

Ответы [ 3 ]

1 голос
/ 05 марта 2012

Вы можете включить Chrome с помощью параметров --disable-web-security.Далее у вас есть возможность сделать Ajax-запрос (без междоменной политики).На устройстве вы используете веб-контейнер, а не браузер, чтобы сделать запрос.

0 голосов
/ 05 марта 2012

Существует междоменная политика, которая ограничивает пользователя для выборки данных по запросам AJAX напрямую.Итак, из javascript, если вы хотите это сделать, вы должны использовать ScriptTagProxy здесь.

Если вы собираетесь создать механизм входа в систему, и данные находятся на одном сервере (localhost дляваш случай), вы не получите никаких проблем, потому что вы будете делать запрос AJAX от "localhost" к "localhost", т. е. к тому же домену, и тогда не будет такой проблемы.

В противном случае, есливы действительно хотите, чтобы он был междоменным, вы можете просто написать код на стороне сервера (я показываю в php - вы должны использовать cURL) для подключения и получения данных - для которых не требуется JSONP.

Имя файла: action.php

<?php
    print file_get_contents(http://www.google.com);
?>

Имя файла: Ваш файл js

Ext.Ajax.request({
    url : 'action.php',
    success : function(response, options) {
        console.log(response);
        Ext.Msg.alert("Success");
    },
    failure : function(response, options) {
        Ext.Msg.alert("Failure" + response.responseText + " "
                + options.responseText);
    }
});
0 голосов
/ 05 марта 2012

когда я пробую твой код, это предупреждает меня об успехе.но в консоли я получаю эту ошибку

XMLHttpRequest cannot load http://www.google.com/?_dc=1330926850434. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

Эта ошибка из-за того, что на сервере Google не разрешен запрос ajax от dominhosthost.Если вы хотите отправить реквизит по этому URL, вы должны использовать Jsonp.

...