Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.09.2014, 16:40
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

Указал код модели выше, не то оказалось в буфере
Ответить с цитированием
  #12 (permalink)  
Старый 01.09.2014, 16:43
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

я не увидел ни в сторе не в модели, где бы вы описывали proxy где в ней необходимо указать урлу для получения данных.
посмотрите как это делает sencha в своем примере:
http://docs.sencha.com/extjs/4.2.2/#...Ext.data.Store

я уверен что проблема именно в несуществующей урле, по которой нужно получать данные
Ответить с цитированием
  #13 (permalink)  
Старый 01.09.2014, 16:44
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

Сообщение от skrudjmakdak Посмотреть сообщение
хотя у тебя как то странно.. если бы модели не было, он тебе может и твою app не инициализировал (но не факт).

просто у тебя и модель грузится по адресу MyApp.model.Object и смотря на консоль в твоей ошибки и данные тянутся по тому же адресу. т.е. еще как вариант у тебя идет запрос на получение данных, а урла по которой ты хочешь получить эти данные не рабочая
Да это похоже на правду, у меня выводятся все данные в dataview из store, какой я должен послать запрос в поиске для получения этих данных. Что я должен еще сделать чтобы поиск начал работать?
Ответить с цитированием
  #14 (permalink)  
Старый 01.09.2014, 16:52
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

Сообщение от skrudjmakdak Посмотреть сообщение
я не увидел ни в сторе не в модели, где бы вы описывали proxy где в ней необходимо указать урлу для получения данных.
посмотрите как это делает sencha в своем примере:
http://docs.sencha.com/extjs/4.2.2/#...Ext.data.Store

я уверен что проблема именно в несуществующей урле, по которой нужно получать данные
Указал в store:
proxy: {
type: 'ajax',
url: 'Object'
}

теперь запрос имеет вид http://localhost/OvGps/OvClient/Obje...25&q uery=DAF
Request Method:GET
Status Code:200 OK

Пишет [WARN] Unable to parse the JSON returned by the server
В Response просто код модели.
Ext.define('MyApp.model.Object', {
    extend: 'Ext.data.Model',

    requires: [
        'Ext.data.field.Integer',
        'Ext.data.field.String'
    ],

    fields: [
        {
            type: 'int',
            name: 'id',
            unique: true
        },
        {
            type: 'string',
            name: 'nm'
        }
    ]
});
Ответить с цитированием
  #15 (permalink)  
Старый 01.09.2014, 16:57
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от treasury Посмотреть сообщение
Пишет [WARN] Unable to parse the JSON returned by the server
В Response просто код модели.
значит ошибка уже на сервере, вам надо добиться того, чтобы по ссылке, которую вы дергайте приходил json с данными
Ответить с цитированием
  #16 (permalink)  
Старый 01.09.2014, 17:03
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

выж писали что данные тянутся во view? так? по какой урле данные приходят в первый раз?
Ответить с цитированием
  #17 (permalink)  
Старый 01.09.2014, 17:26
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

да, потом я их вставляю в store
for (var i=0; i<obj.items.length; i++){
        storeObject.add({id: obj.items[i].id, nm: obj.items[i].nm});       
    }

разве я их не из store должен потом доставать для поиска?

По такому урлу я получаю данные и я указал в proxy:
proxy: {
type: 'ajax',
url: 'http://localhost:3000/wialoncollector/items/'+Ext.util.Cookies.get("ssid")
}

Далее ошибка:
Ответить с цитированием
  #18 (permalink)  
Старый 01.09.2014, 17:36
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

стора сама все делает. вы подгрузили данные она сама их в view вставила
Ответить с цитированием
  #19 (permalink)  
Старый 01.09.2014, 18:00
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

Давайте еще раз. Я обратился на сервер по такому урлу http://localhost:3000/wialoncollector/items/'+Ext.util.Cookies.get("ssid"), сервер мне отдал json я распарсил засунул в store, вывожу во view из store. Теперь для поиска елементов и соотвественно вывода их во view, я должен опять слать запрос на сервер для получения данных? Нельзя из store брать как-то то что ищу? И что по ошибке скажете что выше?
Ответить с цитированием
  #20 (permalink)  
Старый 01.09.2014, 18:16
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от treasury Посмотреть сообщение
Я обратился на сервер по такому урлу http://localhost:3000/wialoncollector/items/'+Ext.util.Cookies.get("ssid"), сервер мне отдал json я распарсил засунул в store
повторяю еще раз, вы указывайте в сторе урлу, стора сама дергает эту урлу, сама парсит и сама заносит во вьюв. такое впечатление что вы примеры вообще не смотрели

вот пример:
http://docs.sencha.com/extjs/4.2.2/e...id/paging.html

смотрим сам код (правда архитектура там другая, все в одной куче):
http://docs.sencha.com/extjs/4.2.2/e...grid/paging.js

есть грид:
var grid = Ext.create('Ext.grid.Panel', {
...


у него прописывается стора:
...
store: store,
...


эта стора объявляется так:
var store = Ext.create('Ext.data.Store', {
        pageSize: 50,
...

где у него куча свойств:
pageSize: 50 - кол-во записей на странице
sorters: [{
            property: 'lastpost',
            direction: 'DESC'
        }]

сортировка по умолчанию. т.д.

и есть прокся:
proxy: {
            type: 'jsonp',
            url: 'http://www.sencha.com/forum/topics-browse-remote.php',
            reader: {
                root: 'topics',
                totalProperty: 'totalCount'
            },
            simpleSortMode: true
        },

type - тип данных, которые приходят с сервера, здесь jsonp - т.к. запрос кроссдоменный. в вашем случае я думаю хватит json
url - урла по которой store дернет вашу урлу, для получения данных
root - корень в json откуда надо брать данные
totalProperty - кол-во записей стора которой достала
и т.д. вы можете в документации почитать все свойства, которые можно задавать

модель соответственно задает структуру данных, поля которые буду использоваться:
'title', 'forumtitle', 'forumid', 'username',

еще можно указать тип данных:
{name: 'replycount', type: 'int'},

вот урла, стора которую дергает:
http://www.sencha.com/forum/topics-browse-remote.php

пройдите по урле и посмотрите что там находится
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vacancy: ExtJS developer, full time, telecommute position samuraijack ExtJS 2 26.12.2013 04:29
tinymce в extjs serg3091 ExtJS 3 26.08.2013 21:44
ExtJS developer, full time, telecommute position samuraijack Работа 1 12.03.2013 13:21
ExtJs - Перевод книги "Lerning ExtJs" MaXyC ExtJS 17 22.06.2012 17:41
Москва, ищу JavaScript программиста отлично знающего ExtJS, от 10 USD / час. maximgb Работа 3 03.08.2010 14:34