Principales respuestas
llamada de ajax desde JQuery

Pregunta
-
Hola a todos estoy teniendo un problema tonto pero no veo la solución, el tema es que hago una llamada Ajax desde un script dentro de la propia vista y funciona, pero en cuanto traslado el código de JQuery a un archivo .js y lo coloco en el directorio de scripts deja de funcionar, y ya no llega al método de acción del controlador generando el mensaje de error, el código es el siguiente:
$.ajax({ type: "POST", url: "Home/AjaxProvincias",
contentType: 'application/json; charset=utf-8', success: function (resultado) {
var cuenta = resultado.length;
for (var i = 0; i < cuenta; i++) {
inpProv.append("<option>" + resultado[i] + "</option>");
}
},
error: function (xhr, testStatus, error) {
alert("error");
}
});
creo que tiene que ver con el url pero he probado de todo y no lo consigo
Respuestas
-
hola
podrias poner en el codigo javascript la linea
debugger;
asi se detiene la ejecucion cuando llega alli y puedes evaluar el valor de la variable que contiene la url que estas invocando
la pregunta serie, es un problema con la url? o quizas es por otra cosa el error
Nota: usa IE para que funcione el debug
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta fjjcent jueves, 6 de febrero de 2014 11:07
Todas las respuestas
-
hola
recomendaria que para definir la url ser
$.ajax({ type: "POST", url: urlprovincias)",
por supuesto desde el js no va afuncionar por eso podrias en la pagina definir una seccion de script que sea
<script>
var urlprovincias = '@Url.Action("AjaxProvincias", "Home")';
</script>
entonces la url la defines en la view y desde el .js usas esa variable para conocer la url que debe invocar
Asp.Net Mvc Url.Action in external js file?
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Sergio ParraModerator lunes, 3 de febrero de 2014 22:25
-
-
Estimado fjjcent
Segun el codigo que envias son dos temas
- LA url como bien dices cuando pasas a un arvhivo .js debes pasarle relativa al raiz (alli
Tu la tienes: url: "Home/AjaxProvincias",
Deberia tener la barra de: url: "/Home/AjaxProvincias",
Obviamente si no tienes un directorio virtual para tu app, sino que esta publicara en el raiz
Un metodo es como te comenta Leandro de pasarle desde la vista configuraciones varias
- Ademas si envias a un archivo .js hay una variable que no esta definida
Te hablo de la parte de: inpProv.append
Supongo que es una variable que por jQuery recuperas pero que
Todo el codigo que envias es el que quieres pasar a un archivo .js? o hay algo mas?
Veo o supongo por el codigo que quieres "obtener via ajax el listado de provincias y agregarlas a un select" si es asi pasanos mas codigo y vemos la manera de hacerlo mas "generico" asi te ayuda en otros lados de tu proyectoEspero que te sirva de ayuda o guia.
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
- LA url como bien dices cuando pasas a un arvhivo .js debes pasarle relativa al raiz (alli
-
hola
podrias poner en el codigo javascript la linea
debugger;
asi se detiene la ejecucion cuando llega alli y puedes evaluar el valor de la variable que contiene la url que estas invocando
la pregunta serie, es un problema con la url? o quizas es por otra cosa el error
Nota: usa IE para que funcione el debug
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta fjjcent jueves, 6 de febrero de 2014 11:07
-
Ya está solucionado Leandro, me estaba volviendo loco, el problema era que IE no ejecutaba el código que cambiaba en Visual Studio sino el que tenía almacenado en la caché por eso por muchos cambios que hicieras siempre fallaba hasta que borré la caché, estos problemas te pueden volver loco.
Gracias Leandro