使用sencha store更新json文件中的数据

时间:2016-02-14 08:28:51

标签: json extjs

我有从json文件中读取数据的商店
这是我的商店

  Ext.define(
  "CM.store.Customers",
{
  extend: "Ext.data.Store",
  model: "CM.model.Customer",
  idProperty: "id",
  autoLoad: true,
  autoSync: true,
  alias: 'store.customers',
  proxy: {
     type: "rest",
     url: "data/Customers.json",
     reader:
     {
        type: "json",
        rootProperty: "data",
        messageProperty: 'error'
     }
  }
});

当我在商店中将autoSync属性设置为true时 并尝试对商店进行任何操作这样的删除或添加它说文件未找到"我的意思是json文件" 但商店在第一时间从中获取数据并加载它

这是我的Json文件

{
"data": [
  {
     "id": 1,
     "firstName": "Mahmoud",
     "lastName": "Zakal",
     "subscriptionDate": "3/1/2015",
     "accountType": 2,
     "active": true
  },
  {
     "id": 2,
     "firstName": "Peter",
     "lastName": "Strong",
     "subscriptionDate": "9/1/2015",
     "accountType": 1,
     "active": false
  }
  {
     "id": 3,
     "firstName": "Dani",
     "lastName": "Alice",
     "subscriptionDate": "11/10/2015",
     "accountType": 1,
     "active": true
  },
  {
     "id": 4,
     "firstName": "Hannah",
     "lastName": "Hester",
     "subscriptionDate": "11/17/2015",
     "accountType": 1,
     "active": true
  }
 ]
}

这是我尝试在商店中进行任何操作时在控制台中出现的错误

  

HTTP错误404.0 - 未找到      您要查找的资源已被删除,名称已更改或暂时不可用。

1 个答案:

答案 0 :(得分:0)

AFAIK如果没有服务器端脚本或程序,则无法更新服务器上的文件。

您可以使用各种后端技术,如PHP,Perl,JSP,C#,node.js,...... - 您的服务器支持的任何内容。

但是你不能只从前端写入服务器文件 - 尽管使用HTTP/1.1 PUT方法可能存在漏洞。但这也必须得到您的服务器的支持,您必须告诉ExtJS使用method:'PUT'(默认为POST)。