Javascript.RU

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

правильно ли понимаю CRUD Ext.js
Здравствуйте!
Правильно ли я понимаю , что такое CRUD ?

TableModel.js

Ext.define("STORE.model.TableModel", {
   extend: "Ext.data.Model",
   fields: [
       {
           name: "name",
           type: "string"
       },
       {
           name: "surname",
           type: "string"
       },
       {
           name: "email",
           type: "string"
       }
   ]
});


TableStore.js

Ext.define("STORE.store.TableStore", {
    extend: "Ext.data.Store",
    model: "STORE.model.TableModel",
    storeId: "TableStore",
    autoSync: true,
    autoLoad: true,
    proxy: {

        type: "ajax",
        api: {
            read: "data/read.php",      // *
            create: 'data/create.php',  // *
            update: 'data/update.php',  // *
            destroy: "data/remove.php"  // *
        }
    }
});


Эти url отмеченые "// *" ,что они делают ?

При добавлении модели в "STORE.store.TableStore"
(Ext.getStore("STORE.store.TableStore").add(newMod el)),
она добавится в хранилище, а затем обратится к файлу 'data/create.php' и передаст туда новые данные ?


При удалении модели из "STORE.store.TableStore"
(Ext.getStore("STORE.store.TableStore").remove(old Model),
она удалится из хранилища, а затем обратится к файлу 'data/remove.php' и передаст туда удаляемую модель ?
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2014, 20:54
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

в целом да так и работает.
только вы путаете класс с экземпляром в этом коде:
Ext.getStore("STORE.store.TableStore").add({ name : 'foo' })
вот так с экземпляром например (а если хочется юзать Ext.getStore посмотрите описание этого метода ..можно для стора указать storeId и по нему получать):
var store = new STORE.store.TableStore({
    // put row here to have smth to remove
    data : [{ id : 1, name : 'bar' }]
});

store.remove(store.getById(1));
store.add({ name : 'foo' })
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2014, 11:25
Новичок на форуме
Отправить личное сообщение для ruvi Посмотреть профиль Найти все сообщения от ruvi
 
Регистрация: 31.05.2014
Сообщений: 9

Спасибо за ответ
Большое спасибо за ответ.

Оказывается отправляя данные в эти файлы:
create.php, update.php, remove.php
эти данные нужно сначала перекодировать.

так выглядит мой файл create.php :

<?php
    require_once('dbconnect.php');

	$info = $_POST['user'];

	$data = json_decode(stripslashes($info));  // вот тут перекодировал полученые данные

	$name = $data->name;
	$email = $data->email;
	$surname = $data->surname;


	$query = "INSERT INTO store(name, email, surname) VALUES('$name', '$email', '$surname')";



	$result = mysqli_query($db, $query) or die("fail to add");

	echo json_encode(array(
		"success" => mysql_errno() == 0,
		"user" => array(
			"id" => mysql_insert_id(),
			"name" => $name,
			"email" => $email,
			"surname" => $surname
		)
	));


	mysqli_close($db);
?>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно обновить div из БД в MVC??? espltd AJAX и COMET 2 11.04.2014 01:28
Как правильно реализовать наследование? Universe Общие вопросы Javascript 9 10.04.2014 16:05
как правильно отслеживать вставку html() bombascter jQuery 15 20.11.2012 09:47
Как правильно прописать свой код в .js Всеми_Любимый Элементы интерфейса 6 23.02.2010 21:34
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20