J'espère que quelqu'un peut m'aider avec le scénario suivant parce que je me casse la tête! J'ai fait un emballage pour que je puisse facilement appeler webservices/pagemethod en utilisant jquery. Maintenant, dans la fonction de la réussite de l'appel ajax Je veux être en mesure d'appeler une fonction (avec des paramètres facultatifs) Je l'ai fait ce qui suit, mais je ne sais pas si je suis la bonne direction:Jquery ajax wrapper avec paramètres optionnels
function AjaxMethod(path, fn, paramArray, returnParamArray, successFn, errorFn) {
var paramList = '';
if (paramArray.length > 0) {
for (var i = 0; i < paramArray.length; i += 2) {
if (paramList.length > 0) paramList += ',';
paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
}
}
paramList = '{' + paramList + '}';
if (returnParamArray.length > 0) {
$.ajax({
type: "POST",
url: path + "/" + fn,
contentType: "application/json; charset=utf-8",
data: paramList,
dataType: "json",
success: function() {
var strFun = successFn;
var strParam = returnParamArray;
var funcCall = strFun + "('" + strParam + "');";
//Call custom function with parameter array
var ret = eval(funcCall);
},
error: errorFn
})
}
else {
$.ajax({
type: "POST",
url: path + "/" + fn,
contentType: "application/json; charset=utf-8",
data: paramList,
dataType: "json",
success: successFn,
error: errorFn
})
}
; }
Je suis capable d'appeler la fonction mais je ne peux pas sembler passer les paramètres. Suis-je dans la bonne direction ou est-ce complet sur le chemin? Est-il même possible de transmettre des paramètres/valeurs en tant que tableau. Ou existe-t-il un moyen plus simple d'accomplir cela?
Par la façon dont je besoin de cette fonction pour les actions (Schéma) suivantes:
1) L'utilisateur deletetes une ligne d'une table avec des données - DeleteRow (rowIndex)
2) DeleteRow appelle la AjaxMethod pour supprimer la ligne de la base de données
3) En cas de succès, je souhaite que la ligne spécifique soit supprimée visuellement, j'ai donc besoin de l'index de ligne sélectionné dans la fonction success. Il y a aussi quelques autres scénarios, il faut donc qu'il soit vraiment dynamique.
Je peux également stocker cette information dans des variables globales comme CurrentDeletedIndex mais j'espère que c'est possible comme je le pensais.
J'espère que je me suis fait un peu clair si je ne me sens pas libre de demander.
Nous vous remercions de votre temps.
Cordialement, Mark
successFn est transmis en tant que chaîne. Cela ne marchera pas. –
@Josiah Ruddell fixé, merci! –
Merci Gabi en Josiah pour votre clarification, la fonction de succès fonctionne maintenant, mais comment puis-je accéder au résultat (à la fois le résultat ajax et le retour paramlist) dans la fonction de succès. Désolé je continue à apprendre mais merci beaucoup! – Mark