правильно ли понимаю 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' и передаст туда удаляемую модель ? |
в целом да так и работает.
только вы путаете класс с экземпляром в этом коде:
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' })
|
Спасибо за ответ
Большое спасибо за ответ.
Оказывается отправляя данные в эти файлы: 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);
?>
|
| Часовой пояс GMT +3, время: 17:53. |