保存基于JsonRest,Dgrid商店(Saving a Dgrid JsonRest-based

2019-09-27 16:43发布

我有一个具有可编辑的日期字段dgrid。 在它之上,我有一个“保存”按钮调用grid.save 。 当我按下按钮,它使一个XHR请求回到店里的目标,但不提供任何数据传回服务器为我节省(即POST为空)。 现在,它是硬来查询项目编号1900,你可以在下面的代码中看到。

下面是商店启动:

  var store = new JsonRest({
    target: "/safari/resources/1900/calendarObjects/",
    sortParam: "sort",
    idProperty: "id",
    properties: {
        startDate:{
            format: "date-time"
        },
        endDate:{
            format: "date-time"
        }
    }
  });

这里是网格:

        var grid = new declare([OnDemandGrid, dgridEditor, Keyboard, Selection, DijitRegistry])({
            store: store,
            query: {responseType: "json" },
            bufferRows: 40,
            loadingMessage: "Loading...",
            columns: [
                {field: "oid", label: "Object ID"},
                dgridEditor({field: "startDate", name: "Start Date", editorArgs: { selector: 'date', datePattern: 'yyyy-MM-dd', locale: 'en-us' }}, DateTextBox),
                dgridEditor({field: "startTime", name: "Start Time"}, TimeTextBox, "click"),
                dgridEditor({field: "endDate", name: "End Date"}, DateTextBox, "click"),
                dgridEditor({field: "endTime", name: "End Time"}, TimeTextBox, "click"),
                {field: "endDateOid", label: "End OID"}
            ],
        }, "grid");

保存按钮看起来是这样的:

registry.byId("saveButton").on("click", function (){
    grid.save();    
 });

就像我说的,在我点击“保存”,一个新的XHR请求火灾,但如果发送任何数据传回服务器,我不知道往哪里去。 我有我的后台打印了所有收到的HTTP头,并没有看到任何东西。

UPDATE(2013年1月2日):升级后的服务器后端使用传统的基于REST的URL,这似乎使道场稍微更快乐,但它仍然是使用GET而不是PUT和失败其实送什么东西给保存。

UPDATE(2013年1月5日):是否有任何理由JsonRest会打电话叫PUT之前得到什么? 我想知道如果我的程序需要返回某些数据之前的计划是愿意去做好PUT(因此问题不在于索取,而无论随之而来的)...但是,这完全是猜测。 我已经到了一个死胡同。

Answer 1:

我不知道这是否会工作,你可以看看https://github.com/SitePen/dgrid/blob/master/test/JsonRest.html

                window.grid = new (declare([Grid, Selection, Keyboard]))({
                    store: testStore,
                    getBeforePut: false,
                    columns: columns
                }, "grid");

你可以尝试将属性设置getBeforePutfalse



文章来源: Saving a Dgrid JsonRest-based Store