jqgrid - postData soumet la demande précédente, les paramètres et les données
J'ai été en utilisant postData
pour définir la demande params de façon dynamique. Sur le clic de quelques-bouton externe, - je changer la grille URL et aussi quelques autres params dans postData
comme ci-dessous. JqGrid semble ajouter tous ces paramètres et des données pour toutes les demandes ultérieures. Est-il un moyen que nous pouvons contrôler ou d'éviter ces params d'être envoyé à chaque fois?
Ma définition de la grille:
jQuery(function() {
$('#grid').jqGrid({
url: 'rates.html',
postData: {
name: function() { return $("#name").val(); },
rate: function() { return $("#rate").val(); },
.....
}
....
});
});
Ici dans la requête post: je vois que name
, rate
params allons de l'avant avec d'autres standard jqGrid paramètres comme sortname
, sidx
, rows
, etc...
Maintenant, si sur le clic d'un bouton externe, si je change la grille URL comme ci-dessous
$('#changeReqBtn').click(function() {
$('#grid').setGridParam({ url: 'changeReq.html',
postData: { msgIds: msgIds } });
$('#grid').trigger("reloadGrid");
});
Maintenant jqGrid envoie name
, taux, msgIds
params
Maintenant si je change l'URL de retour à rates.html disons, par exemple, sur un clic de l'icône d'actualisation, jqGrid envoie la précédente msgIds
param et aussi les valeurs précédentes. Je ne veux pas envoyer la demande précédente, params dans la nouvelle demande lorsque l'URL change. Est-il un moyen que nous pouvons atteindre?
Vous devez vous connecter pour publier un commentaire.
Si je corrige comprendre votre problème, vous devez éviter l'utilisation de
setGridParam
et de faire ce qui suit à la place. Vous pouvez utiliser$('#grid').jqGrid("getGridParam", "postData")
pour obtenir la référence pour le paramètre internepostData
. Par exemple,De sorte que vous pouvez utiliser
delete myPostData.msgIds
pour supprimer toute propriété de la méthode précédemment ajoutée parsetGridParam
.myPostData
est toujours undefined - est-il quelque chose qui manque sur mon côté?var p = $('#grid').jqGrid("getGridParam");
vous obtenir référence pour objet interne de jqGrid avec tous les paramètres internes. Vous pouvez obtenir tout paramètre spécifique commep.postData
oup.rowNum
et les modifier si nécessaire. Vous n'avez pas besoin d'utilisersetGridParam
plus.J'ai eu la même question de la préservation de postdata paramètres de demandes précédentes.
Je l'ai fixée par compensation postData d'abord, puis la configuration postData avec de nouveaux paramètres.
de compensation postData => $('#grid1').setGridParam({ postData: ""});
réglage postData avec de nouveaux paramètres =>
var formValues = {searchVal: "abc", le pays: "NOUS"}
$('#grid1').setGridParam({ postData: formValues});
J'ai été en mesure de le résoudre de cette façon:
La différence est que je spécifie
datatype
, leurl
et lapage
complètement à ma demande - qui fait travailler!J'appelle cette fonction comme suit:
quand j'ai besoin de ces données pour être mis à jour. En omettant le type de données par exemple sera la cause de l'échec de l'actualisation en silence.