Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2011, 14:54
Новичок на форуме
Отправить личное сообщение для selections Посмотреть профиль Найти все сообщения от selections
 
Регистрация: 12.10.2011
Сообщений: 7

Данные из REST , ExtJS
Начну с того что крикну...ПОМОГИТЕ!

Через Rest (а именно : "http://192.168.1.119:1008/srv/adres/test/Hello") получаю данные в виде xml. Если вставить данную строку в браузер то получаю:

<XMLDataResponse xmlns="http://tempuri.org/">
<XMLDataResult>enter Hello world msf</XMLDataResult>
</XMLDataResponse>

Написал ExtJs скрипт который должен цеплять "enter Hello world msf" из этой xml. НО! Он этого не делает и возвращает пустоту. Что я делаю не так?
Вот скрипт:
//connection
		
        var proxy1 = new Ext.data.HttpProxy({
        url: "http://192.168.1.119:1008/srv/adres/test/Hello"
        });
		
		//record
		var Employee = Ext.data.Record.create([
        {name: 'XMLDataResult', mapping: 'XMLDataResult'}     // "mapping" property not needed if it is the same as "name"        
                                              ]);
		
		//reader
		var reader1 = new Ext.data.XmlReader ({
		record: "XMLDataResult "},Employee );
		
		//хранилеще данных
		var store = new Ext.data.Store({
        restful: true, // Это наш волшебный флажок, который заставляет слать запросы на сервер при изменение данных в источнике 
        proxy: proxy1,         
        reader:reader1 
         });
		 
		 try{
		 // Получить данные GET
          store.load();
		  }
		  catch(err) {alert("Error nah!")}
		  		  		  		  		  		  		  		 
		  //отобпразить
		  Ext.onReady(function(){ 
		  alert(store.getCount());
		  });
		  
		 

// Создадим структуру колонок нашей таблицы
var userColumns =  [
    {header: "XMLDataResult", width: 150, sortable: true, dataIndex: 'XMLDataResult'},
];
Ext.onReady(function(){
// Теперь создадим нашу таблицу и настроим ее.
 var userGrid = new Ext.grid.GridPanel({
    renderTo: Ext.getBody(),
    iconCls: 'icon-grid',
    frame: true,
    title: 'Пользователи',
    autoScroll: true,
    height: 300,
    store: store,    
    columns : userColumns,
    viewConfig: {
        forceFit: true
    }
});
});
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2011, 22:04
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

http://docs.sencha.com/ext-js/4-0/#!/guide/data
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2011, 16:53
Новичок на форуме
Отправить личное сообщение для selections Посмотреть профиль Найти все сообщения от selections
 
Регистрация: 12.10.2011
Сообщений: 7

Воспользовавшись документацией Sencha (http://edspencer.net/2011/02/proxies-extjs-4.html) нашел такой пример:
var User = Ext.regModel('User', {
    fields: ['id', 'name', 'email'],

    proxy: {
        type: 'rest',
        url : '/users',
        reader: {
            type: 'json',
            root: 'users'
        }
    }
});


Если вместо url вставлять адрес "http://**********/Hello" (это мой REST сервис, если эту строчку вставить в браузер, он вернет Hello), то скрипт не работает. В FireBag пишет что коннект по данному url aborded.

Есть идеи как решить данную проблему?
И на что ссылается url из примера?
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2011, 17:04
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

Вероятно Ваш рест сервис ожидает обращение к адресу не GETом. В примере относительная ссылка.
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2011, 17:22
Новичок на форуме
Отправить личное сообщение для selections Посмотреть профиль Найти все сообщения от selections
 
Регистрация: 12.10.2011
Сообщений: 7

Сообщение от DreamTheater Посмотреть сообщение
Вероятно Ваш рест сервис ожидает обращение к адресу не GETом.
Этот сервис писал не я и, к сожалению, сейчас посмотреть его код не могу. Могу сказать что он реализован на С#.

Можете подробнее изложить свои мысли?

Сообщение от DreamTheater Посмотреть сообщение
В примере относительная ссылка.
Это значит что сервис реализован где в папке users? и можно использовать напрямую http адрес? Вот это меня волнует.

Последний раз редактировалось selections, 16.10.2011 в 17:31.
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2011, 18:27
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

RESTful веб-службы
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2011, 22:50
Новичок на форуме
Отправить личное сообщение для selections Посмотреть профиль Найти все сообщения от selections
 
Регистрация: 12.10.2011
Сообщений: 7

Спасибо! Это описание весьма полезно, буду завтра смотреть саму реализацию сервиса.
Ответить с цитированием
  #8 (permalink)  
Старый 17.10.2011, 13:02
Новичок на форуме
Отправить личное сообщение для selections Посмотреть профиль Найти все сообщения от selections
 
Регистрация: 12.10.2011
Сообщений: 7

Пришел к выводу, что в url адрес http напрямую задать нельзя, нужен "кормящий файл" - вот его адрес и задается в url. Кто может подсказать как его написать?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ExtJs - Перевод книги "Lerning ExtJs" MaXyC ExtJS 17 22.06.2012 17:41
xml данные c помощью extjs mrshakirov ExtJS 1 11.10.2011 19:06
ExtJS + Rest mrshakirov ExtJS 2 07.10.2011 15:24
Не совсем обычный фрейм и выезжающий текст при наводе на картинку. amaz245 Элементы интерфейса 35 25.12.2010 17:29
Москва, ищу JavaScript программиста отлично знающего ExtJS, от 10 USD / час. maximgb Работа 3 03.08.2010 14:34