Вы действительно не хотите указывать URL-адрес непосредственно в вашем JavaScript.
Вам необходимо , чтобы использовать помощников;в противном случае, если вы измените свои маршруты, вам придется переписать все URL-адреса в вашем коде JavaScript.Кроме того, он не будет работать, если ваш веб-сайт размещен в виртуальном каталоге IIS (что, похоже, является проблемой здесь).
У вас есть пара решений, если ваш код JavaScript встроен в представление,просто используйте
$.ajax({
type: 'GET',
url: '@Url.Action("GetNewData", "Search")'
)};
Если он находится во внешнем файле JavaScript, вы можете, например, использовать атрибуты HTML5 data-*
для предоставления URL-адреса своему коду JavaScript.
Например:
<div id="foo" data-update-url="@Url.Action("GetNewData", "Search")">
</div>
Тогда код JavaScript будет выглядеть примерно так:
var updateDiv = $('#foo');
$.ajax({
type: 'GET',
url: updateDiv.data('update-url'),
success: function(data) {
updateDiv.append(data);
}
)};