I have a weird problem when using JQuery call in my ASP.NET MVC project. I found that the Ajax call gives 404 ( resource not found error). But when I use the usual URL GET call, I can successfully call the server without any problem. Any idea why this is so?
This my ASP.NET MVC code
public class ViewRecordController: Controller
{
public JSONResult GetSoftwareChoice(string username)
{
return Json(username);
}
}
This is my JQuery code:
$(function() {
$("#username").click(function() {
$.getJSON("ViewRecord/GetSoftwareChoice", {username:'123'},
function(data) {
alert(data);
});
});
});
The above JQuery gives me a 404 error. Apparently the ViewRecord/GetSoftwareChoice
is not found on server, as far as the AJAX call is concerned.
But if I type this in my web browser:
http://myapp/ViewRecord/GetSoftwareChoice?username=123
then there is no problem.
This is very weird, indeed.
Just in case if you are interested, this is my route:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
Edit: I step into my code, and found that the URL call is ViewRecord/GetSoftwareChoice?username=123
.
Related question: Select Element inside Form not working in JQuery