Javascript Ext JS 4可编辑网格
我正在尝试编写ExtJS应用程序,它是网格,从服务器上的JSON文件加载数据,并将修改后的字段发送回服务器。问题是,我无法将更改或添加的数据实际发送回服务器脚本。代码如下:Javascript Ext JS 4可编辑网格,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我正在尝试编写ExtJS应用程序,它是网格,从服务器上的JSON文件加载数据,并将修改后的字段发送回服务器。问题是,我无法将更改或添加的数据实际发送回服务器脚本。代码如下: var store = Ext.create('Ext.data.Store', { model: 'ObjectDefinitionModel', autoDestroy: true, autoLoad: true, proxy: { type: 'ajax',
var store = Ext.create('Ext.data.Store', {
model: 'ObjectDefinitionModel',
autoDestroy: true,
autoLoad: true,
proxy: {
type: 'ajax',
url: 'load-object-definition',
api: {
read: 'load-object-definition',
create: 'save-object-definition',
update: 'update-object-definition',
destroy: 'delete-object-definition'
},
reader: {
type: 'json',
root: 'fields'
},
writer: {
type: 'json',
root: 'fields'
}
}
});
我有一个按钮,按下时会调用store.sync()
。syncinc之后,保存对象定义中的脚本执行,但它接收到的(POST和GET中的)都是[\u dc]=>1311511955134
,我不知道它是什么。
API文档说明,所有更改和添加的数据都应打包并通过代理自动发送。官方示例没有显示实际发送的任何数据,只有一些调试消息。
我们将感谢您的帮助,提前谢谢 在我的一个项目中,我也遇到了同样的问题,我应该只将新添加或更新的记录发送到服务器进行保存。我最初尝试使用您在此处发布的相同方法,但后来(因为它对我也不起作用)我创建了自定义代码来执行以下操作:
a。当用户单击按钮保存时,浏览网格中的所有记录并识别更新的或新添加的记录
b。创建包含所有此类记录的自定义JSON,并使用此JSON作为参数之一向服务器发出Ajax请求
这一切无疑是额外的工作,但最终还是达到了我的目的
希望这能有所帮助。在我的一个项目中,我也遇到了同样的问题,我本应该只将新添加或更新的记录发送到服务器进行保存。我最初尝试使用您在此处发布的相同方法,但后来(因为它对我也不起作用)我创建了自定义代码来执行以下操作:
a。当用户单击按钮保存时,浏览网格中的所有记录并识别更新的或新添加的记录
b。创建包含所有此类记录的自定义JSON,并使用此JSON作为参数之一向服务器发出Ajax请求
这一切无疑是额外的工作,但最终还是达到了我的目的
希望这有帮助。ExtJS代理确实在发送数据,但使用的是原始帖子。您可以使用以下功能获取它们:
function GetRAWdata()
{
$result = NULL;
if(function_exists('json_decode'))
{
$jsonData = json_decode(trim(file_get_contents('php://input')), true);
$result = $jsonData['data'][0];
}
return $result;
}
ExtJS代理确实在发送数据,但使用原始POST。您可以使用以下功能获取它们:
function GetRAWdata()
{
$result = NULL;
if(function_exists('json_decode'))
{
$jsonData = json_decode(trim(file_get_contents('php://input')), true);
$result = $jsonData['data'][0];
}
return $result;
}
尝试使用autoSave:trueNope,没有任何区别。尝试使用autoSave:trueNope,没有任何区别。