Extjs: загрузить содержимое внешнего URL в виде простого текста - PullRequest
0 голосов
/ 14 августа 2011

Как я могу загрузить содержимое URL, такое как XML или JSON, как обычный текст в переменную?
Я не хочу использовать JsonStore или XMLStore, я хочу загрузить содержимое как текст.

Ответы [ 2 ]

0 голосов
/ 15 августа 2011

Внешний URL через запросы Ajax невозможен. Первоначально, когда был разработан Ajax. Это было в значительной степени возможно, но позже из-за проблем безопасности это было оставлено. Вы можете попробовать AJAX в необработанном формате.


    var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
          if ( xhr.readyState == 4 ) {
            if ( xhr.status == 200 ) {
              document.body.innerHTML = "GOT ACCESS";
            } else {
              document.body.innerHTML = "ERROR";
            }
          }
        };
        xhr.open("GET", "yourPage.php", true);
        xhr.send(null);

Попробуйте изменить ссылку yourPage.php на какой-либо внешний сайт. Вы получите ошибку в ответе. https://developer.mozilla.org/En/HTTP_Access_Control. Прочтите эту статью для получения дополнительной информации о межсайтовых HTTP-вызовах.

0 голосов
/ 14 августа 2011

Глядя на http://www.sencha.com/learn/legacy/Manual:Core:Ext.Ajax разве вы не сможете просто записать результат в переменную?

var res = false;
Ext.Ajax.request({
    url : 'ajax.php' , 
    params : { action : 'getDate' },
    method: 'GET',
    success: function ( result, request ) { 
        res = result.responseText;
    } 
});

Пример был взят со страницы документации.

...