Session 自定义:在jqGrid中发布输出而不更改源文件?

Session 自定义:在jqGrid中发布输出而不更改源文件?,session,jquery,jqgrid,modx,Session,Jquery,Jqgrid,Modx,我正试图在MODx中转换jqGrid,就像其他使用“$.ajax”的数据交换一样,将调用从一个URL移动到一个受密码保护的资源,并从那里调用PHP中的一段代码,因此安全框架、ajax调用是有保证的 这是块$.ajax的一个示例: $.ajax ({ url :'[[~94]]', type: 'post', async: false, success: fu

我正试图在MODx中转换jqGrid,就像其他使用“$.ajax”的数据交换一样,将调用从一个URL移动到一个受密码保护的资源,并从那里调用PHP中的一段代码,因此安全框架、ajax调用是有保证的

这是块$.ajax的一个示例:

      $.ajax ({
                url :'[[~94]]',
                type: 'post',
                async: false,
                success: function(rsp) {
                                $.Cookie("xxxxxx-tipodirlist", rsp);
                          }

             });
*[[~94]]是受保护的资源,位于代码段调用[[!SnpBridgedata_blabla]]

该系统在整个web应用程序中运行良好,安全可靠地接收和发送数据

现在,一位客户要求我提供一个完整的应用程序,希望在一个好的网格中获得web结果,在看到一些代码后,我决定在我的项目中使用jqGrid。 集成很快,我很高兴用“jqGrid”更改了“DataTable”,但是当我完成测试时,通过调用snippet将绝对路径更改为xxxxxx.php

这是jqGrid的代码:

  chargeSedi function (idx)
  {
    // Test with file. Php !work fine!
    // Var esURL = 'http://xxxxx.com/xxxxxxx.php?IDX =' + idx;
    // Test with MODx resource  !not work!
    esURL var = '[[~ 97]] & IDX =' + idx;
    csURL var = '[[~ 96]] & IDX =' + idx;
    tipodirlist = $ var. cookie ("xxxxxxxx-tipodirlist");
    tiposedelist = $ var. cookie ("xxxxxxx-tiposedelist");


  $("#sediTable").ready(function() { 
      $("#sediTable").jqGrid({ 
              url:csURL, 
              datatype: "json",
              height: 250, 
              autowidth:true,
              colNames:[ 'ID','CODICE', 'NOME','TDIR', 'DIR','COMUNE', 'PROVINCIA','CAP', 'TSEDE','NOTA'], 
              colModel:[ 

 {name:'ID',index:'ID', width:25, editable: false}, 
 {name:'CODICE',index:'CODICE', width:60, editable: true}, 
 {name:'NOME',index:'NOME', width:60, editable: true}, 
 {name:'TDIR',index:'TDIR', width:60, editable: true,edittype:"select",editoptions:{value:tipodirlist}},         
 {name:'DIR',index:'DIR', width:200, sortable:false,editable: true},
 {name:'COMUNE',index:'COMUNE', width:170, sortable:false,editable: true},
 {name:'PROVINCIA',index:'PROVINCIA', width:170, sortable:false,editable: true},
 {name:'CAP',index:'CAP', width:40, sortable:false,editable: true},
 {name:'TSEDE',index:'TSEDE', width:90, editable: true,edittype:"select",editoptions:{value:tiposedelist}},       
 {name:'NOTA',index:'NOTA', width:170, sortable:false,editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"10"}} ], 

      sortname: 'ID', 
      viewrecords: true, 
      sortorder: "desc", 
      loadonce: true,
      editurl: esURL , 
      caption: "Sedi" }); 

}); 
]

让我惊讶的是,MODx拒绝访问jqGrid的ajax调用,就好像你在会话之外一样,但是在用wireshark测试和观察了几个小时的流量之后,我意识到jqGrid发送了一个名为“id”的POST变量,并将MODx调用为GET变量“id”。在其他环境中,这是可能的,没有问题,但这是不可能的MODx和有问题的

我的问题是如何在不更改jqGrid源的情况下更改POST变量“id”jqGrid的名称

同时想问一下,你可以自定义导入一个选择值而不是索引

电车站示例:

            {Name: 'TDIR', index: 'TDIR', width: 60, editable: true, EditType: "select" editoptions: {value: tipodirlist}}
tipodirlist=1:via;二:露天广场;;3:ect

TDIR=2

   CODICE=1&NOME=principale&TDIR=2&DIR=Roma&COMUNE=Torino&PROVINCIA=Torino&CAP=10000&TSEDE=2&NOTA=NO=edit&id=0
为此:

TDIR=广场

   CODICE=1&NOME=principale&TDIR=piazza&DIR=Roma&COMUNE=Torino&PROVINCIA=Torino&CAP=10000&TSEDE=2&NOTA=NO=edit&id=0
无需在服务器上筛选结果


我希望我已经解释清楚了。正如我问自己的那样,团队在问这个问题之前会“StackOverflow”

多谢各位 问候

尼罗


我希望上帝“奥列格”能帮助我:)

我不知道也不使用MODx。然而,我希望您的问题是:如何重命名
id
参数的名称,使其与MODx使用的
id
参数没有冲突

如果我理解您的问题是正确的,您只需添加附加参数,设置编辑操作中使用的
id
参数的新名称:

prmNames: {id: 'myId'}

该示例将把默认的
id
参数名(
{id:“id”}
)重命名为
myId
,您应该在服务器部件中使用该名称。

@niroblock:欢迎使用Niro!如果问题已解决,您可以将答案标记为“已接受”(有关详细信息,请参阅)。在中,您可以找到更多关于如何更好地使用stackoverflow.com的成功信息。