In order for this to work that JavaScript must be placed within a Razor view so that the line
@Url.Action("Action","Controller")
is parsed by Razor and the real value replaced.
If you don’t want to move your JavaScript into your View you could look at creating a settings object in the view and then referencing that from your JavaScript file.
e.g.
var MyAppUrlSettings = {
MyUsefulUrl : '@Url.Action("Action","Controller")'
}
and in your .js file:
$.ajax({
type: "POST",
url: MyAppUrlSettings.MyUsefulUrl,
data: "{queryString:'" + searchVal + "'}",
contentType: "application/json; charset=utf-8",
dataType: "html",
success: function (data) {
alert("here" + data.d.toString());
}
});
or alternatively look at levering the framework’s built in Ajax methods within the HtmlHelpers which allow you to achieve the same without “polluting” your Views with JS code.