El complemento Jquery.cascade cambia el formato de la URL de Ajax
-
05-07-2019 - |
Pregunta
Estoy usando jQuery.Cascade plugin en mi aplicación Asp.Net MVC. Lo tengo todo funcionando de la siguiente manera:
jQuery("#CompareModelList").cascade("#CompareManufacturerList", {
ajax: { url: '/Home/Models' },
template: commonTemplate,
match: function (selectedValue) { return this.ManufacturerId == selectedValue;},
});
Sin embargo, cuando esto se activa, se activa la acción en mi controlador a través de la siguiente solicitud:
http://localhost/Home/Models?val=50
Lo que preferiría es:
http://localhost/Home/Models/50
Ahora en los ejemplos siempre que haya el siguiente comentario:
Pasa el valor seleccionado de selección padre para url como 'val =', pero acepta el pleno opciones de hash ajax para que pueda adjuntar otros datos también
Por lo tanto, estoy asumiendo que lo que deseo lograr es posible, pero como recién llegado a jQuery y Ajax no sé cómo hacer esto. ¿Alguien puede ayudar?
Solución
El complemento Cascade está creando las opciones predeterminadas de AJAX (ejemplo: http://docs.jquery.com / Tipos # Opciones ) que son:
type: "GET", dataType: "json", success: function(json) { $this.trigger("updateList", [json]); }, data: $.extend(_ajax.data,ajax.data,{ val: opt.getParentValue(parent) })
En otras palabras, cambia la línea:
ajax: {url: '/ Inicio / Modelos'}
a
ajax: {url: '/ Home / Models /' + jQuery ('#CompareManufacturerList') .val ()}
en su lugar.