Le plugin Jquery.cascade change le format de l'URL Ajax
-
05-07-2019 - |
Question
J'utilise jQuery.Cascade dans mon application Asp.Net MVC. Tout fonctionne comme suit:
jQuery("#CompareModelList").cascade("#CompareManufacturerList", {
ajax: { url: '/Home/Models' },
template: commonTemplate,
match: function (selectedValue) { return this.ManufacturerId == selectedValue;},
});
Cependant, lorsque cela se déclenche, il appelle l'action dans mon contrôleur via la requête suivante:
http://localhost/Home/Models?val=50
Ce que je préférerais, c'est:
http://localhost/Home/Models/50
Maintenant, dans les exemples , à condition que le commentaire suivant soit affiché:
Transmet la valeur sélectionnée de la sélection parent en url 'val =', mais accepte l'intégralité les options ajax afin que vous puissiez ajouter d'autres données aussi bien
Donc, je suppose que ce que je souhaite réaliser est possible - mais en tant que nouveau venu sur jQuery et Ajax, je ne sais pas comment faire. Quelqu'un peut-il aider?
La solution
Le plug-in Cascade crée les options AJAX par défaut (exemple: http://docs.jquery.com / Types # Options ) qui sont:
type: "GET", dataType: "json", success: function(json) { $this.trigger("updateList", [json]); }, data: $.extend(_ajax.data,ajax.data,{ val: opt.getParentValue(parent) })
En d'autres termes, modifiez la ligne:
ajax: {url: '/ Home / Models'}
à
ajax: {url: '/ Home / Models /' + jQuery ('#CompareManufacturerList') .val ()}
à la place.