Поместите код в файл ajax.js
в каталоге сценариев, а затем укажите его на страницах, где вам нужно использовать методы в этом файле. Затем поместите любую логику на стороне сервера для ваших вызовов ajax в AjaxController
Например:
ajax.js
function foo() {
var model = { };
$.ajax({
url: '@Url.Action("Foo", "Ajax")',
type: "POST",
data: JSON.stringify(model),
success: function(data) {
alert(data);
},
error: function(data) {
alert(data);
}
});
}
AjaxController.cs
public class AjaxController : Controller
{
[HttpPost]
public JsonResult Foo(FooModel model)
{
string message = _ajaxService.Foo(model);
return Json(message);
}
}
В приведенном выше примере _ajaxService
- это объект уровня сервиса, который содержит логику для обработки ваших запросов ajax. Ниже описано, как использовать функцию на ваш взгляд:
SomeView.cshtml
<script type="text/javascript" language="javascript" src="@Url.Content("~/Content/Scripts/ajax.js")"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('#button').click(foo);
});
</script>
Если есть дополнительная логика для передачи данных в метод ajax, который используется повторно, вы, вероятно, должны поместить его в частичное представление и ссылаться на него из каждого представления, в котором оно нуждается.