提交如何使用OpenLayers.Protocol.HTTP更改向量层?

提交如何使用OpenLayers.Protocol.HTTP更改向量层?,openlayers,Openlayers,我有: 我在GeoExt.MapPanel上编辑(创建、删除…)此图层使用: var saveStrategy = new OpenLayers.Strategy.Save(); var vector = new OpenLayers.Layer.Vector("vector", { projection: mercator, strategies: [new OpenLayers.Strategy.Fixed(

我有:

我在GeoExt.MapPanel上编辑(创建、删除…)此图层使用:

     var saveStrategy = new OpenLayers.Strategy.Save();
     var vector = new OpenLayers.Layer.Vector("vector", {
                projection: mercator,
                strategies: [new OpenLayers.Strategy.Fixed(), saveStrategy],
                protocol:  new OpenLayers.Protocol.HTTP({
                    url: "/test/dtp_json.php",
                    format: new OpenLayers.Format.GeoJSON()
                })
           });


        var store = new GeoExt.data.FeatureStore({
            fields: [
                {name: "dtp", type: "string", convert: dtpname},
                {name: "date", type: "date"},
                {name: "fio", type: "string"},
                {name: "human", type: "long", defaultValue: 0},
                {name: "place", type: "string"},
                {name: "opisanie", type: "string"}
            ],
            layer: vector,
            addFeatureFilter: function(feature) {
                return feature.state !== OpenLayers.State.DELETE;
                }

        });
如何保存(提交)所有更改? 这不会保存:

       var modifyControl = new OpenLayers.Control.ModifyFeature(vector);

       var drawControl = new OpenLayers.Control.DrawFeature(
                                vector,
                                OpenLayers.Handler.Point,
                                {handlerOptions: {multi: false}}
                            );

                ..........(new GeoExt.MapPanel)
                id: "mapPanel",
                bbar: [
                       new GeoExt.Action({
                               control: drawControl,
                               text: "Create",
                               enableToggle: true,
                      },
                      handler: function() {
                             var gV = gridPanel.getView();
                             gV.on('rowsinserted', function(view,firstRow,lastRow)
                             {
                              gridPanel.getSelectionModel().selectLastRow();
                              gridPanel.startEditing(lastRow,0);
                             });
                      }
                    }),
                    {
                    text: "Delete",
                    handler: function() {
                             gridPanel.getSelectionModel().each(function(rec) {
                             var feature = rec.get("feature");
                             modifyControl.unselectFeature(feature);
                             gridPanel.store.remove(rec);
                            if (feature.state !== OpenLayers.State.INSERT) {
                            feature.state = OpenLayers.State.DELETE;
                           vector.addFeatures([feature]);
                             };
                         })
                        }},
                    ............
我想在没有protocol.WFS(Geoserver)的情况下完成它。 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

因此,非常简单:

          store.commitChanges();
          saveStrategy.save();
所以,非常简单:

          store.commitChanges();
          saveStrategy.save();
          store.commitChanges();
          saveStrategy.save();
          vector.refresh({force: true});