Обычно в скрипте я обычно использую AJAXify для существующих якорных ссылок или форм, которые уже имеют правильный URL, как они были созданы с помощью HTML-помощников.
Так, например, с формой (сгенерированной с помощью Html.BeginForm
помощник):
$('#myform').submit(function() {
$.ajax(}
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
}
});
return false;
});
или с привязкой (создается с помощью Html.ActionLink
помощник):
$('#mylink').click(function() {
$.ajax(}
url: this.href,
type: 'POST',
success: function(result) {
}
});
return false;
});
Конечно, в некоторых случаях вам может понадобиться URL, отличный от ссылкиили форма.В этих случаях я обычно использую атрибуты HTML5 data-*
для некоторого элемента DOM.Например:
<div id="foo" data-url="@Url.Action("SomeAction", "SomeController")">foo bar</div>
и когда мне понадобился этот URL, я просто:
var url = $('#foo').data('url');
Посмотрите, как нам не нужна никакая функция GetPath
.Все URL-адреса уже являются частью нашего DOM, и в отдельном файле javascript мы просто используем их.