Note that there are some explanatory texts on larger screens.

plurals
  1. POdelete path not found , store proxy wrong?
    primarykey
    data
    text
    <p>i´m new to extjs and i´m facing a problem where i realy don´t understand why it´s not working. i´m trying to delete a row from my grid and the database where the grid is populated , but my client say that there is no delete on my server (sorry for bad english)</p> <p>here is my code :</p> <p>store: <i></p> <pre><code>Ext.define('LU.store.Audios', { extend: 'Ext.data.Store', autoLoad: true, autoSync: true, model: 'LU.model.Audio', proxy: { type: 'rest', api: { create: 'http://localhost:3000/upload', read: 'http://localhost:3000/list', update: 'http://localhost:3000/update', destroy: 'http://localhost:3000/delete' }, reader: { type: 'json', root: 'audios', totalProperty : 'total', successProperty: 'success' }, writer: { type: 'json' } } }); </code></pre> <p></i></p> <p>model :</p> <p><i> </p> <pre><code>Ext.define('LU.model.Audio', { extend: 'Ext.data.Model', fields: [ { name: 'id', type: 'int'}, { name: 'name', type: 'string'}, { name: 'path', type: 'string'} ], }); </code></pre> <p></i></p> <p>view : <i> </p> <pre><code>Ext.define('LU.view.Main', { extend: 'Ext.panel.Panel', alias: 'widget.mainview', id: 'main', initComponent: function() { this.items = [{ }, { xtype: 'grid', title: 'Audio liste', store: 'Audios', id: 'mygrid', columns: [ {text: 'Dateiname', dataIndex: 'name'}, {text: 'Dateipfad', dataIndex: 'path'} ], listeners : { afterrender : function (grid) { grid.addDocked({ xtype: 'toolbar', dock: 'top', items: [{ text: 'Delete', action: 'delete' }, { text: 'Download' }] }); } }, } ]; this.callParent(arguments); } }); </code></pre> <p></i></p> <p>and controller :</p> <p><i></p> <pre><code>Ext.define('LU.controller.MainController', { extend: 'Ext.app.Controller', views: ['Main'], stores: ['Audios'], models: ['Audio'], init: function() { this.control({ 'mainview button[action=delete]': { click: this.delete } }); }, delete: function () { var grid = Ext.getCmp('mygrid'); var row = grid.getSelectionModel().getSelection(); Ext.getStore("Audios").remove(row); }, }); </code></pre> <p></i></p> <p>and the server :</p> <p><i></p> <pre><code>var express = require ('express'); var app = express(); var fs = require('fs'); var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'root', }); connection.connect(); connection.query('USE diktierserver'); app.use(express.bodyParser()); app.all('*', function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, X-Requested-With, Origin, Accept'); res.header('Access-Control-Allow-Credentials', 'true'); if(req.method.toLowerCase()==='options'){ res.send(200); }else{ next(); } }); app.delete('/delete', function (req,res) { res.header('Access-Control-Allow-Origin', '*'); res.header('Content-Type','text/plain; charset=UTF8'); console.log(req); var id = req.params.id; connection.query('DELETE FROM audio WHERE id = ' + id +'', function (err,result) { if (err) throw err; console.log(name + 'deleted'); res.status(200).send(JSON.stringify()); }); }); app.listen(3000); </code></pre> <p></i></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload