#asp.net-web-api #webforms
#asp.net-web-api #веб-формы
Вопрос:
Может ли кто-нибудь, пожалуйста, предоставить мне свои данные о том, как действовать дальше. приведенное ниже требование.
У меня есть веб-приложение, разработанное в VS professional 2015, и у меня есть отдельное приложение Web API. До сих пор существующее веб-приложение реализовано в 3-х уровневой архитектуре. Теперь мы хотели реализовать новые страницы с использованием вызовов Web API без 3-уровневой архитектуры.
Прежде всего, я хотел создать инфраструктуру / архитектуру в своем веб-приложении для вызова приложения web API. Чтобы все новые запросы страниц проходили через эту инфраструктуру / архитектуру и вызывали web API.
Пожалуйста, помогите мне с вашими ценными вкладами / предложениями.
Заранее благодарю вас.
Комментарии:
1. Используйте angular js или jquery для получения данных через ajax. Начальная страница сервера в виде статического HTML-файла.
Ответ №1:
поскольку мы используем API
, нет необходимости создавать сложную инфраструктуру / архитектуру, если вы не хотите использовать ReactJs
или AngularJs
. Это даже не обязательно для них, но это позволит вам сохранить код в чистоте. вам просто нужно вызвать API
using JavaScript, например, у вас есть метод контроллера API и вы хотите получить к нему доступ.
Простой способ создания продуктов
#region Get Method
// GET api/product
[Queryable]
[Route("Products")]
[Route("All")]
public HttpResponseMessage Get()
{
try
{
var products = _productServices.GetAllProducts();
var productEntities = products as List<ProductEntity> ?? products.ToList();
if (productEntities.Any())
{
return Request.CreateResponse(HttpStatusCode.OK, productEntities);
}
throw new ApiDataException(1000,"No Products Found",HttpStatusCode.NotFound);
}
catch (Exception)
{
throw;
}
}
#endregion
просто вызовите уважаемый метод из ajax следующим образом
$(document).ready(function () {
var a = "Test";
$.ajax({
url: "v1/products/product/All",
type: "GET",
data: { a : a },
success: function (response) {
alert(response);
},
error: function (response) {
alert(response);
}
});});
Надеюсь, это поможет