我创建了一个kendo网格,可以从带有json数据的url读取。这是代码,它运作正常
$('#grid').kendoGrid({
dataSource: {
transport: {
read: {
url: "http://localhost/CoreProcess/proceso/getusers",
dataType: "json",
},
update: {
url: "http://localhost/CoreProcess/usuario/uptdate",
dataType: "json"
},
destroy: {
url: "http://localhost/CoreProcess/usuario/delete",
dataType: "json"
}
},
pageSize: 10
},
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
editable: "inline",
columns: [{ title: "Nombre", field: "NOMBRE" },
{ title: "Apellidos", field: "APELLIDOS"},
{ title: "Email", field: "EMAIL"},
{ command: ["edit", "destroy"], title: "Acciones"}],
});
现在在同一页面中,我有一个小形式,通过对php方法的ajax调用(使用yii框架)将新数据插入数据库
$.ajax({
type: "POST",
url: "http://localhost/CoreProcess/proceso/agregarparticipantes/uuid/" + uuid,
data:
{
post_participante: participante,
post_apellidos: apellidos,
post_email: email,
},
success: function(result)
{
alert(result);
var dSource = $('#grid').data('kendoGrid').dataSource;
dSource.transport.options.read.url = "http://localhost/CoreProcess/proceso/getusers";
dSource.read();
}
});
在数据库中创建新记录也可以正常工作,但问题是之后我想用新信息重新加载网格,或许再次读取我应该更改的json url。我尝试了很多像
这样的东西$('#grid').data('kendoGrid').dataSource.read();
$('#grid').data('kendoGrid').dataSource.refresh();
但是没什么,我是剑道的小伙子......有人可以帮助我吗?谢谢所有
答案 0 :(得分:2)
最后我得到了修复它并没有任何与剑道有关的东西。我使用Yii框架并在数据库中保存记录后你必须刷新它以便可以加载新信息,这是一个简单的错误,但我是如何使用剑道新手我不知道它是错还是正确。
简单的指示
$('#grid').data('kendoGrid').dataSource.read();
对我来说已经足够了
感谢大家的支持,我将继续使用这个神奇的工具。请参阅nexts问题xD
答案 1 :(得分:1)
你在dataSource读取设置中有默认的HTTP方法'GET',它正在缓存查询数据。解决方案一:
read: {
url: "http://localhost/CoreProcess/proceso/getusers",
dataType: "json",
type: "POST",
},
解决方案二:
read: {
url: "http://localhost/CoreProcess/proceso/getusers",
dataType: "json",
cache: false,
},
然后只使用dataSource.read()方法。