jqgrid - post-Daten übermittelt werden auf Anfrage params und Daten
Ich habe mit postData
zu setzen der request-Parameter dynamisch. Klicken Sie auf einige externe Taste, ändern Sie die grid-URL und auch einige zusätzliche Parameter postData
wie unten. JqGrid scheint append-all diese Parameter und Daten für alle nachfolgenden Anforderungen. Gibt es eine Möglichkeit, die wir kontrollieren können oder vermeiden Sie diese Parameter gesendet werden, jedes mal?
Mein grid definition:
jQuery(function() {
$('#grid').jqGrid({
url: 'rates.html',
postData: {
name: function() { return $("#name").val(); },
rate: function() { return $("#rate").val(); },
.....
}
....
});
});
Hier in der post-Anforderung: ich sehe, dass name
, rate
params gehen zusammen mit anderen standard-jqGrid-Parameter wie sortname
, sidx
, rows
usw...
Nun, wenn Sie auf klicken Sie auf einer externen Taste, wenn ich die grid-URL wie unten
$('#changeReqBtn').click(function() {
$('#grid').setGridParam({ url: 'changeReq.html',
postData: { msgIds: msgIds } });
$('#grid').trigger("reloadGrid");
});
Nun jqGrid sendet name
-, rate -, msgIds
params
Nun, wenn ich die URL wieder auf rates.html sagen Sie zum Beispiel, klicken Sie auf des Symbol "aktualisieren", jqGrid sendet der vorherigen msgIds
param und auch die vorherigen Werte. Ich will nicht senden Sie die Anfrage params in der neuen Anfrage, wenn sich die URL ändert. Gibt es eine Möglichkeit, dies können wir erreichen?
InformationsquelleAutor varaprakash | 2012-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich richtig verstehe Ihr problem, Sie sollten vermeiden, die Verwendung von
setGridParam
und führen Sie die folgenden stattdessen. Sie können$('#grid').jqGrid("getGridParam", "postData")
zu bekommen die Referenz, um die internen parameterpostData
. Zum Beispiel,So können Sie
delete myPostData.msgIds
zu löschen, die die Eigenschaft der Methode, die Sie zuvor Hinzugefügt vonsetGridParam
.Sie sind herzlich willkommen!
Ich habe versucht, diese aber
myPostData
ist immer undefined - gibt es etwas, das fehlt auf meiner Seite?Es ist wichtig, , wenn und in welchem Kontext Sie versuchen, den code zu verwenden. Es ist besser, dass Sie nach dem code, die Sie verwenden und die nicht funktioniert wie erwartet, in der neuen Frage.
Sie sind herzlich willkommen! Ich empfehle Ihnen Folgendes zu tun:
var p = $('#grid').jqGrid("getGridParam");
Es erhalten Sie reference internes Objekt von jqGrid mit allen internen Parameter. Sie erhalten alle spezifischen parameter wiep.postData
oderp.rowNum
und ändern Sie es falls erforderlich. Sie brauchen nicht zu verwendensetGridParam
mehr.InformationsquelleAutor Oleg
Ich hatte das gleiche Problem der Erhaltung der postdata-Parameter aus früheren Anfragen.
Ich es behoben durch deaktivieren postData zuerst festlegen und dann die post-Daten mit den neuen Parametern.
clearing postData => $('#grid1').setGridParam({ postData: ""});
Einstellung postData mit neuen Parametern =>
var formValues = {searchVal: "abc -", Land: "US"}
$('#grid1').setGridParam({ postData: formValues});
InformationsquelleAutor Mahesh
Konnte ich lösen es so:
Der Unterschied ist, dass ich angeben
datatype
, dieurl
und diepage
insgesamt in meinem Antrag -, die es zu arbeiten!Rufe ich diese Funktion etwa so:
wenn ich verlange, dass die Daten aktualisiert werden. Das weglassen der Datentyp, der zum Beispiel dazu, dass die Aktualisierung fehl.
InformationsquelleAutor Matt