0

「$.ajax」を使用した他のデータ交換と同様に、MODx 内で jqGrid を有効にしようとしています。呼び出しを URL からパスワードで保護されたリソースに移動し、そこから PHP でコードのスニペットを呼び出します。 、ajax呼び出しが保証されています

これは、チャンク $.ajax の一例です。

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

             });

*[[~94]] は保護されたリソースであり、スニペット呼び出し [[!SnpBridgedata_blabla]] 内にあります

システムは Web アプリケーション全体で完全に機能し、データを安全かつ確実に送受信します。

現在、顧客から、優れたグリッドで Web の結果が必要な完成したアプリケーションを求められました。コードを少し見てから、自分のプロジェクトに jqGrid を使用することにしました。統合は迅速で、「DataTable」を「jqGrid」に変更できてとても満足していますが、テストが終了したら、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 の名前を変更する方法です。

同時に質問したいのですが、インデックスではなく値を選択してインポートをカスタマイズできます

トラム POST の例:

            {Name: 'TDIR', index: 'TDIR', width: 60, editable: true, EditType: "select" editoptions: {value: tipodirlist}}

tipodirlist = 1:経由;2:広場;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」

よろしくお願いします

ニロ。

PS.神「オレグ」が私を助けてくれることを願っています:)

4

1 に答える 1

1

私は知らないし、MODx を使用していません。それにもかかわらず、あなたの問題が、MODx で使用されるパラメーターidと競合しないようにパラメーターの名前を変更する方法であることを願っています。id

あなたの質問が正しいことを理解したら、編集操作で使用されるパラメーターの新しい名前を設定する追加のprmNamesパラメーターを追加する必要があります。id

prmNames: {id: 'myId'}

この例では、サーバー部分で使用する必要があるデフォルトのidパラメーター名 ( {id: "id"})の名前を変更します。myId

于 2011-08-22T16:55:13.347 に答える